Форум программистов, компьютерный форум CyberForum.ru

Попытка получения запущенных процессов на удалённом компьютере - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Можно ли с помощью хуков перехватывать вызовы функций из DLL? http://www.cyberforum.ru/cpp-beginners/thread497543.html
Привет народ! Для одного проекта ;) мне понадобилось перехватывать функцию, находящуюся в DLL (а точнее в kernel32.dll, т.е. WinAPI-функцию). Видел драйвер, скрывающий процесс, и еще кой-чего но все было написано на асме. Возможен ли перехват API-хи с помощью хуков?
C++ Изменение ключей реестра Windows Мне необходимо в реестре поменять IpAdress В пути к соотв. переменной реестра есть ключ AEF37A0A-E385-4BAD-B228-34FD29980B5C Я так понимаю - он генерится системой и различен для разных машин. Подскажите, пожалуйста, какие есть способы программно определить каков этот ключ для данной машины? Спасибо! http://www.cyberforum.ru/cpp-beginners/thread497526.html
Как расшарить диск(папку) и получить имя компа на котором выполняется приложение? C++
Вот как это сделать? Ведь просто нужно юзать какие-то API-шные функции. А какие и как? Заранее всем благодарен за ответ.
C++ Вакансия программист С++ в Москве
В динамично развивающуюся компанию по разработке игровых программ требуется праграммист С/С++. Можно неоконченное высшее, в/о, 19-30 лет, знание Win32 API, умение работать с потоками и их синхронизация. Работа с графикой и звуком. Разработка ПО на платформе Win32 на С/С++. Оформление по ТК, з/п 700-1200 у.е., возможен гибкий график. Резюме на lina@profil.ru, тел. 239-93-47 Илона.
C++ Изменение параметров Windows(NT/2000/XP) http://www.cyberforum.ru/cpp-beginners/thread497426.html
Подскажите, пожалуйста, кто-нибудь - существуют ли функции позволяющие изменить такие параметры локальной машины как: 1). Время ожидания загрузки системы (то что в boot.ini сидит); 2). Переменную окружения Path системы в целом, а не только текущего процесса; 3). Раскладку клавиатуры, используемую по умолчанию; 4). Статический IP-адрес сетевой платы; 5). Локальные политики (нужно...
C++ Подскажите freeware-ный CheckedListbox ActiveX (-) a подробнее

Показать сообщение отдельно
Ghost
Сообщений: n/a
03.08.2011, 12:07     Попытка получения запущенных процессов на удалённом компьютере
1. Вот ссылка на RSDN-новскую статью, рекомендую.
2. там одна ошибка - вместо '\ ' и ' ' надо использовать '//' и '/' - тогда все работает (у меня по крайней мере)

вот изменение кода:
Код
		CString m_strMachineName('//.');
		if(m_strMachineName.IsEmpty())
			lstrcpy(szServer, _T('root/cimv2'));
		else
			wsprintf(szServer, _T('%s/root/cimv2'),m_strMachineName);
3. Не забывай провести инициализацию COM & OLE - в статье это хорошо прописано.

4. на всякий пожарный привожу пример работающего у меня кода (VS 2003, C++)

[code]
// CAXTest0.cpp : Defines the entry point for the console application.
//

#include 'stdafx.h'

#include <comdef.h>
#include <atlbase.h>
#include <comutil.h>
#include <Wbemidl.h>
#include <SshWbemHelpers.h>

#include 'CAXTest0.h'
#ifdef _DEBUG
#define new DEBUG_NEW
#endif

// The one and only application object

CWinApp theApp;

using namespace std;

void testApp(void);

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;

// initialize MFC and print and error on failure
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: change error code to suit your needs
_tprintf(_T('Fatal Error: MFC initialization failed
'));
nRetCode = 1;
}
else
{
// TODO: code your application's behavior here.
AfxOleInit();
CoInitialize(0);
CoInitializeSecurity(NULL, -1, NULL, NULL, RPC_C_AUTHN_LEVEL_CONNECT, RPC_C_IMP_LEVEL_IMPERSONATE, NULL, EOAC_NONE, 0);
testApp();
}

return nRetCode;
}

void testApp(void)
{
try
{

TCHAR szServer[256];
_bstr_t bstrServer;
IWbemLocatorPtr spLocator;
IWbemServicesPtr spServices(NULL);
IEnumWbemClassObjectPtr spEnum(NULL);
IWbemClassObjectPtr spObject(NULL);
ULONG ulCount;
CString m_strText;

memset(szServer,0,sizeof(szServer));

// create a WBEM locator object
HRESULT hRes=CoCreateInstance(__uuidof(WbemLocator), NULL,
CLSCTX_INPROC_SERVER, __uuidof(IWbemLocator),
(PVOID *)&spLocator);

if(FAILED(hRes))
_com_issue_error(hRes);

//m_strMachineName - the name of the remote computer

CString m_strMachineName('//.');
if(m_strMachineName.IsEmpty())
lstrcpy(szServer, _T('root/cimv2'));
else
wsprintf(szServer, _T('%s/root/cimv2'),m_strMachineName);

hRes=spLocator->ConnectServer(_bstr_t(szServer),NULL,
NULL, NULL, 0, NULL, NULL, &spServices);

if(FAILED(hRes))
_com_issue_error(hRes);

// create an enumerator of processes
hRes=spServices->CreateInstanceEnum(_bstr_t(L'Win32_Process'),
WBEM_FLAG_SHALLOW|WBEM_FLAG_FORWARD_ONLY,NULL, &spEnum);

if(FAILED(hRes))
_com_issue_error(hRes);

// walk through all processes
while(spEnum->Next(WBEM_INFINITE, 1, &spObject, &ulCount) == S_OK)
{
_variant_t valId;
_variant_t valName;

// retrieve process name
hRes = spObject->Get(L'Name', 0, &valName, NULL, NULL);
if (FAILED(hRes))
{
spObject = NULL;
continue;
}

// retrieve process identifier
hRes=spObject->Get(L'ProcessId', 0, &valId, NULL, NULL);

if(FAILED(hRes))
{
spObject = NULL;
continue;
}

_ASSERTE(valId.vt == VT_I4);
_ASSERTE(valName.vt == VT_BSTR);

// Output data
 
Текущее время: 21:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru