Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Хочу получить ThreadId приложения. Какая для этого используется ф-ция? 
:(
    Опции темы
NiТR0
  Дата 9.9.2005, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 28.6.2005

Репутация: нет
Всего: нет



Народ, здрасти!
Скажите пожалуйста, с помощью какой ф-ции можно надыбать ThreadId (или Thread) по хэндэлу или кэпшону приложения? Есть ли такая в природе? Может есть еще какие-нибудь способы?
PM MAIL   Вверх
Coocky
Дата 9.9.2005, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



Код

//Print the current thread ID in the Debug Window
TRACE("Current Thread ID = 0x%X\n", AfxGetThread()->m_nThreadID);



--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
maxim1000
Дата 9.9.2005, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 1
Всего: 110





--------------------
qqq
PM WWW   Вверх
Coocky
Дата 9.9.2005, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



maxim1000
Ты наверное не ту ссылку дал smile


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
Plamenk
Дата 9.9.2005, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 258
Регистрация: 18.2.2003

Репутация: нет
Всего: 3



Может это поможет:

Цитата
The GetWindowThreadProcessId function retrieves the identifier of the thread that created the specified window and, optionally, the identifier of the process that created the window.

Syntax

DWORD GetWindowThreadProcessId(          HWND hWnd,
    LPDWORD lpdwProcessId
);
Parameters

hWnd
[in] Handle to the window.
lpdwProcessId
[out] Pointer to a variable that receives the process identifier. If this parameter is not NULL, GetWindowThreadProcessId copies the identifier of the process to the variable; otherwise, it does not.
Return Value

The return value is the identifier of the thread that created the window.

PM MAIL   Вверх
NiТR0
Дата 9.9.2005, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 28.6.2005

Репутация: нет
Всего: нет



Спасибо, но мне нужно найти ThreadId отдельного процесса из моего приложения.
smile
PM MAIL   Вверх
Coocky
Дата 9.9.2005, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



NiТR0
Цитата(Ni @ 9.9.2005, 15:07)
Спасибо, но мне нужно найти ThreadId отдельного процесса из моего приложения

Сам спросил
Цитата(Ni @ 9.9.2005, 14:11)
Скажите пожалуйста, с помощью какой ф-ции можно надыбать ThreadId (или Thread) по хэндэлу или кэпшону приложения?

Вообще функция возвращает укзатель CWinThread*
Т.е CWinThread*tr=AfxBegiTrhead();
где tr и есть указатель на поток

Добавлено @ 15:15
NiТR0
опять я не то ответил, но как понять отдельного процесса моего приложение.Тввое приложение и есть процесс, может потока? Я дал тебе для потока..


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
maxim1000
Дата 9.9.2005, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 1
Всего: 110



Цитата
maxim1000
Ты наверное не ту ссылку дал

да... не проверил, когда вставлял... smile
просто для поиска я сначала открыл CreateWindow, а оттуда уже ближе
но уже упомянули:
Цитата
GetWindowThreadProcessId



--------------------
qqq
PM WWW   Вверх
Coocky
Дата 9.9.2005, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



Может это?
Код

BOOL CreateProcess(
  LPCTSTR lpApplicationName,
  LPTSTR lpCommandLine,
  LPSECURITY_ATTRIBUTES lpProcessAttributes,
  LPSECURITY_ATTRIBUTES lpThreadAttributes,
  BOOL bInheritHandles,
  DWORD dwCreationFlags,
  LPVOID lpEnvironment,
  LPCTSTR lpCurrentDirectory,
  LPSTARTUPINFO lpStartupInfo,
  LPPROCESS_INFORMATION lpProcessInformation
);



lpProcessInformation указатель на структуру, которая будет заполнена информацией о порожденном процессе после возврата из функции
Код

typedef struct _PROCESS_INFORMATION {  
HANDLE hProcess;
HANDLE hThread;
DWORD dwProcessId; 
DWORD dwThreadId;

} PROCESS_INFORMATION, *LPPROCESS_INFORMATION;


dwProcessId
Value that can be used to identify a process. The value is valid from the time the process is created until the time the process is terminated.
dwThreadId
Value that can be used to identify a thread. The value is valid from the time the thread is created until the time the thread is terminated.


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
NiТR0
  Дата 12.9.2005, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 28.6.2005

Репутация: нет
Всего: нет



Спасибо ребят! smile
Только я воспользовался ф-ей GetWindowThreadProcessId (http://msdn.microsoft.com/library/default....adprocessid.asp)
Она по хэндлу любого app.-sa и ProcessId дает и TreadId возвращает. smile

Это сообщение отредактировал(а) NiТR0 - 12.9.2005, 12:09
PM MAIL   Вверх
Coocky
Дата 12.9.2005, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



Ну и слава богу, хотя ответ был дан сразу Plamenk_ом smile


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0529 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.