GetCurrentThreadId GetCurrentProcessId GetWindowThreadProcessId

DWORD GetCurrentThreadId(VOID);//获取当前窗口线程ID

DWORD GetCurrentProcessId(VOID);//获取当前窗口进程ID
DWORD GetWindowThreadProcessId(
  HWND hWnd,             // handle to window 
  LPDWORD lpdwProcessId  // process identifier 窗口句柄为hWnd的窗口进程ID
  );
  返回值:hWnd窗口的线程ID
时间: 2024-10-03 16:47:20

GetCurrentThreadId GetCurrentProcessId GetWindowThreadProcessId的相关文章

delphi公用函数

{*******************************************************} { } { Delphi公用函数单元 } { } { 版权所有 (C) 2008 } { } {*******************************************************} unit YzDelphiFunc; interface uses ComCtrls, Forms, Windows, Classes, SysUtils, ComObj,

delphi公共函数 UMyPubFuncFroc--版权所有 (C) 2008 勇者工作室

{*******************************************************} { } { Delphi公用函数单元 } { } { 版权所有 (C) 2008 勇者工作室 } { } {*******************************************************} unit UMyPubFuncFroc; interface uses ComCtrls, Forms, Windows, Classes, SysUtils,

SetForegroundWindow的正确用法

在SetForegroundWindow之前比较早的时候(比如main函数里)调用一下以下代码: DWORD dwTimeout = -1; SystemParametersInfo(SPI_GETFOREGROUNDLOCKTIMEOUT, 0, (LPVOID)&dwTimeout, 0); if (dwTimeout >= 100) { SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0, (LPVOID)0, SPIF_SENDC

白话windows内核对象共享之复制对象句柄

引子:话说老王的果园大丰收,老王心花怒放,带着全家去美国阿拉斯加度假.阿拉斯加有很多东西琳琅满目,都是中国没有的,老王及家人都过了一把购物瘾.但是有一次却遇到了比较尴尬的事.怎么回事呢?原来老王第一次出国,在买地摊上的东西时讨价还价100元,但是给人家的却是100元人民币,人家自然不干撒,你100元才多少美元呀,老王只好忍痛割爱给了600元人民币. 为什么会出现这样的尴尬呢?因为两个国家的货币换算不是一样的.中国的100元和美国的100元不是等价的,如何才能等价呢?必须根据当前汇率来换算.今天要

将后台窗口激活到前台的方法(使用AttachThreadInput和SetForegroundWindow两个API)

下面这种方法是我见到的最理想的,还有一些其他的方法,像通过SetWindowsPos这个API设置窗口的Z-oder到最顶层,再设置回去.还有通过把当前窗口设置到底层,然后激活目标窗口等等方法. HWND hCurWnd = NULL; DWORD dwMyID; DWORD   dwCurID; hCurWnd = ::GetForegroundWindow(); dwMyID = ::GetCurrentThreadId(); dwCurID = ::GetWindowThreadProce

获取其它进程窗口中的状态栏信息(FindWindowEx GetWindowThreadProcessId OpenProcess SendMessage轮番轰炸)

[cpp] view plain copy HWND hWnd = ::FindWindow(NULL, _T("XXXXX")); if(NULL == hWnd) { return ; } HWND hWndStatusBar = ::FindWindowEx(hWnd, NULL, _T("msctls_statusbar32"), NULL); if(NULL == hWndStatusBar) { return ; } DWORD dwProcessId 

GetWindowThreadProcessID 记录

用到这个函数的时候, 傻乎乎的调试了半天, 发现不对,就拿起MSDN看下, 奈何英语都还给老师了,又去翻译! 终于搞懂这个函数的返回,以及传参调用了, 下面记录下: 函数原型: DWORD GetWindowThreadProcessId( HWND hWnd, // handle to window LPDWORD lpdwProcessId // address of variable for process identifier ); 参数说明: hWnd 为传入的窗口句柄 lpdwPro

Delphi跨平台下的GetTickCount,GetCurrentThreadID

在Windows下只要uses Windows,就有这两个API可调用GetTickCount,GetCurrentThreadID 如果我们需要跨平台使用这两个函数,就不能仅仅Uses Windows了. 如果需要跨平台使用GetTickCount,可以uses System.Classes,然后使用类方法:TThread.GetTickCount 如果需要跨平台使用GetCurrentThreadID,则仅需引用不同的单元即可: uses {$ifdef MSWINDOWS}Windows;

英文不好也能快速"记忆" API

英文不好不要紧,把API函数导入打字练习类软件,即是练习打字速度,提高编程效率:也能短时间记忆API. 坚持每天打一遍,约2小时,连续打两周,会对API有很好的记忆,此方法是结合英文学习方法!以下是Window API函数例表,大家可以试试效果特别好! AbnormalTermination AbortDoc AbortPath AbortPrinter AbortProc AbortSystemShutdown AccessNtmsLibraryDoor ActivateKeyboardLay