|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Ноя 10, 2003 20:26:10 Как по хендлу окна узнать имя файла который его создал? |
|
|
Дата: Ноя 10, 2003 21:55:15 Если exe, то можно узнать хэндл процесса функцией GetWindowThreadProcessId и прочитать из процесса командную строку. Указатель на неё храниться по адресу функции GetCommandLineA + 1. |
|
|
Дата: Ноя 10, 2003 23:07:07CHAR strPath [MAX_PATH]; HWND hWnd; // Must be valid GetModuleFileName ( (HINSTANCE) GetWindowLong (hWnd, GWL_HINSTANCE), strPath, MAX_PATH); Только надо перевести на ASM... |
|
|
Дата: Ноя 10, 2003 23:22:08 AsmGuru62 А если окно другой процесс создал? Этот код надо не только перевести на асм, но и выполнить в адресном простанстве того процесса, которому окно принадлежит. |
|
|
Дата: Ноя 11, 2003 00:58:33 ...мда... не проверил я этот код однако... А мне казалось, что это работает и для других процессов. |
|
|
Дата: Ноя 11, 2003 02:10:57 гхм. из хэндла окна получаем PID процесса, который его создал. Потом через тулхелп получаем список процессов в системе и ищем процесс с нужным PID, в структуре которая подается Process32Next есть поле указывающее имя(или путь - не помню точно)экзешника. |
|
|
Дата: Ноя 11, 2003 02:44:03 Есть такая функция GetModuleFileNameEx, но работает она только в WinNT 4.0 и высше :( _1711130039__getmodulefilenameex.html |
|
|
Дата: Ноя 11, 2003 19:53:55 Всем спасибо проверю. |
|
|
Дата: Ноя 11, 2003 20:53:43 Следующий вопрос: как получить PID процесса? GetWindowLong возвращает 0. Поясню ситуацию: уменя начала запускаться какаято программа, её окно я делаю видимым, но хотелось бы понять какой файл её запускает. Файлы автозапуска посмотрел, вроде ничего подозрительного. Антивирусы молчат. |
|
|
Дата: Ноя 11, 2003 21:42:33 · Поправил: Asterix |
|
|
Дата: Ноя 11, 2003 23:51:23 тьфу ты мля.. а нахрена тогда извините меня плиз городить огород-то? Spy++ для этого есть из Microsoft Visual Studio Он тебе все скажет. а по PID ты сможешь в TaskManager получить имя образа. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.036 |