Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

За 2005-12-10

Re: либо GetFullPathName тормозит, либо я :)

Здравствуйте !

> GetFullPathName упорно возвращает имя приложения, из
> которого оно запускается.

> if (Process32First(hSnap, &proc))
> {
> if (proc.th32ProcessID==pid){
> GetFullPathName(proc.szExeFile, 512,
> str.GetBuffer(512),
> 0);
> CloseHandle(hSnap);
> return str;
> }

А чему, кстати, pid равен ?
Тут, похоже, просто то что первым попадается, то и возвращается.
Первым попадается твой процесс.

> while (Process32Next(hSnap, &proc))
> {
> if (proc.th32ProcessID==pid){
> GetFullPathName(proc.szExeFile, 512, str.GetBuffer(512),
> 0);
> CloseHandle(hSnap);
> return str;
> }
> //m_List1.AddString(proc.szExeFile);
> }
> }

Просто закомментируй CloseHandle(hSnap); и return str в своем примере,
и посмотри под отладчиком что будет.
Кстати, после GetBuffer, надо делать ReleaseBuffer.

А пример перечисления процессов, модулей, и.т.д. можно найти тут:

http://msdn.microsoft.com/library/en-us/perfmon/base/taking_a_snapshot_and_v
iewing_processes.asp

   2005-12-10 23:27:51 (#487899)

Кодировки

Привет всем,

Пожалуйста объясните что такое Кодировки, зачем они нужны и как
набираемый текст в моей программе мог бы отображаться в Кодировки
отличной от Windows-1251 или KOI8-R ?

Номер выпуска : 5080
Возраст листа : 811 (дней)
Количество подписчиков : 546
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/487866
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

   2005-12-10 21:59:37 (#487866)

либо GetFullPathName тормозит, либо я :)

Hello comp,

GetFullPathName упорно возвращает имя приложения, из которого оно запускается.
А мне
нужен список приложений, который перечисляется с пом. структуры PROCESSENTRY32.
Код
выглядит следующим образом

PROCESSENTRY32 proc;
proc.dwSize=sizeof(PROCESSENTRY32);
CString str, str2;
if (Process32First(hSnap, &proc))
{
if (proc.th32ProcessID==pid){
GetFullPathName(proc.szExeFile, 512, str.GetBuffer(512),
0);
CloseHandle(hSnap);
return str;
}
//m_List1.AddString(proc.szExeFile);
while (Process32Next(hSnap, &proc))
{
if (proc.th32ProcessID==pid){
GetFullPathName(proc.szExeFile, 512, str.GetBuffer(512),
0);
CloseHandle(hSnap);
return str;
}
//m_List1.AddString(proc.szExeFile);
}
}

str должен принять полное имя приложения

   2005-12-10 20:33:42 (#487826)