findwindow function winuwin7 findwindowser h
MFC端利用()函数打开WPF生成的exe文件同时将自己当前的窗口句柄作为命令行参数传递过去。代码如下
#(()this-());//这里利用将窗口句柄转化一次之后再使用()将句柄转化为(%s
,());ShellExecuteA(this-GetSafeHwnd(),open,exePathPalmServer.exe,hwnd.c_str(),NULL,1);
WPF端将获得的命令行参数解析出C端的窗口句柄然后将自己的窗口句柄发送给C端
//App.xmlApplicationx:ClassPalmServer.Appxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:localclr-namespace:PalmServerStartupApplication_Startup//定义程序入口Application.Resources/Application.Resources/Application//App.xml.cspublicpartialclassApp:Application{[System.Runtime.InteropServices.DllImport(user32.dll)]privatestaticexternintSendMessage(IntPtrhwnd,uintwMsg,IntPtrwParam,intlParam);//SendCprogramtheC#mainwindowHWNDprivateconstuintWM_PS_HWND9034;//TellclienttheHWNDofthiswindow//程序入口privatevoidApplication_Startup(objectsender,StartupEventArgse){MainWindowwndnewMainWindow();wnd.Show();if(e.Args.Length1){intaConvert.ToInt32(e.Args[0]);//将包含C的窗口句柄的string转化为intIntPtrproxyHandleByShellExec(IntPtr)a;//MFC中的HWND类型等同于WPF中的IntPtr类型Console.WriteLine(proxyHandleByShellExec.ToString());//输出看看句柄的数字是什么if(proxyHandleByShellExec!(IntPtr)0){varmainWindowHandlenewSystem.Windows.Interop.WindowInteropHelper(wnd).Handle;//C#获得窗口句柄Console.WriteLine(mainWindowHandle.ToString());SendMessage(proxyHandleByShellExec,WM_PS_HWND,mainWindowHandle,0);//将MainWindow的窗口句柄发送给C端}}elseConsole.WriteLine(e.Args.Length.ToString());}}}
MFC定义消息处理函数接收消息即可。
//Dlg.h//PalmServerHWNDclassCDlgPalmProbe:publicCDialogEx{private:HWNDhProbeServerBySendMessage;afx_msgLRESULTOnPalmServerHWND(WPARAMwParam,LPARAMlParam);//消息处理函数}//Dlg.cpp//PalmServerHWND#defineWM_PS_HWND9034//定义消息BEGIN_MESSAGE_MAP(CDlgPalmProbe,CDialogEx)ON_MESSAGE(WM_PS_HWND,CDlgPalmProbe::OnPalmServerHWND)//绑定消息和消息处理函数END_MESSAGE_MAP()//ReceivethePalmProbeHWNDfromC#programLRESULTCDlgPalmProbe::OnPalmServerHWND(WPARAMwParam,LPARAMlParam){hProbeServerBySendMessage(HWND)wParam;longa(WPARAM)hProbeServerBySendMessage;_cprintf(C#HWND:%ld
,a);return0;}
#总结除了这种方法我也试过利用文本中介写入句柄再去读取的方法。但是读写方法可能会受制于权限所以不推荐这种方法。读写注册表倒是一个相对好一点的办法但是我没试过。总之相较于读写这种直接通过消息处理的方法还是更方便快捷而且经过测试确实也能解决上述的问题值得大家去试一试的。有什么问题或想法欢迎在评论提出我看到会及时回复的谢谢
毫无疑问,当需要找窗口句柄时,首先想到的自然是FindWindow(),这个函数能够在系统中帮我们找到所需窗口的句柄。该函数的参数有两个,第一个是所找窗口的类名,第二个是所找窗口的名字。一般来说,第一个参数可以填...
展开全文
推薦系統(tǒng)
雨林木風(fēng) winxp下載 純凈版 永久激活 winxp ghost系統(tǒng) sp3 系統(tǒng)下載
系統(tǒng)大?。?/em>0MB系統(tǒng)類型:WinXP雨林木風(fēng)在系統(tǒng)方面技術(shù)積累雄厚深耕多年,打造了國內(nèi)重裝系統(tǒng)行業(yè)知名品牌,雨林木風(fēng)WindowsXP其系統(tǒng)口碑得到許多人認(rèn)可,積累了廣大的用戶群體,是一款穩(wěn)定流暢的系統(tǒng),雨林木風(fēng) winxp下載 純凈版 永久激活 winxp ghost系統(tǒng) sp3 系統(tǒng)下載,有需要的朋友速度下載吧。
系統(tǒng)等級:進(jìn)入下載 >蘿卜家園win7純凈版 ghost系統(tǒng)下載 x64 聯(lián)想電腦專用
系統(tǒng)大小:0MB系統(tǒng)類型:Win7蘿卜家園win7純凈版是款非常純凈的win7系統(tǒng),此版本優(yōu)化更新了大量的驅(qū)動,幫助用戶們進(jìn)行舒適的使用,更加的適合家庭辦公的使用,方便用戶,有需要的用戶們快來下載安裝吧。
系統(tǒng)等級:進(jìn)入下載 >雨林木風(fēng)xp系統(tǒng) xp系統(tǒng)純凈版 winXP ghost xp sp3 純凈版系統(tǒng)下載
系統(tǒng)大?。?/em>1.01GB系統(tǒng)類型:WinXP雨林木風(fēng)xp系統(tǒng) xp系統(tǒng)純凈版 winXP ghost xp sp3 純凈版系統(tǒng)下載,雨林木風(fēng)WinXP系統(tǒng)技術(shù)積累雄厚深耕多年,采用了新的系統(tǒng)功能和硬件驅(qū)動,可以更好的發(fā)揮系統(tǒng)的性能,優(yōu)化了系統(tǒng)、驅(qū)動對硬件的加速,加固了系統(tǒng)安全策略,運(yùn)行環(huán)境安全可靠穩(wěn)定。
系統(tǒng)等級:進(jìn)入下載 >蘿卜家園win10企業(yè)版 免激活密鑰 激活工具 V2023 X64位系統(tǒng)下載
系統(tǒng)大小:0MB系統(tǒng)類型:Win10蘿卜家園在系統(tǒng)方面技術(shù)積累雄厚深耕多年,打造了國內(nèi)重裝系統(tǒng)行業(yè)的蘿卜家園品牌,(win10企業(yè)版,win10 ghost,win10鏡像),蘿卜家園win10企業(yè)版 免激活密鑰 激活工具 ghost鏡像 X64位系統(tǒng)下載,其系統(tǒng)口碑得到許多人認(rèn)可,積累了廣大的用戶群體,蘿卜家園win10純凈版是一款穩(wěn)定流暢的系統(tǒng),一直以來都以用戶為中心,是由蘿卜家園win10團(tuán)隊(duì)推出的蘿卜家園
系統(tǒng)等級:進(jìn)入下載 >蘿卜家園windows10游戲版 win10游戲?qū)I(yè)版 V2023 X64位系統(tǒng)下載
系統(tǒng)大?。?/em>0MB系統(tǒng)類型:Win10蘿卜家園windows10游戲版 win10游戲?qū)I(yè)版 ghost X64位 系統(tǒng)下載,蘿卜家園在系統(tǒng)方面技術(shù)積累雄厚深耕多年,打造了國內(nèi)重裝系統(tǒng)行業(yè)的蘿卜家園品牌,其系統(tǒng)口碑得到許多人認(rèn)可,積累了廣大的用戶群體,蘿卜家園win10純凈版是一款穩(wěn)定流暢的系統(tǒng),一直以來都以用戶為中心,是由蘿卜家園win10團(tuán)隊(duì)推出的蘿卜家園win10國內(nèi)鏡像版,基于國內(nèi)用戶的習(xí)慣,做
系統(tǒng)等級:進(jìn)入下載 >windows11下載 蘿卜家園win11專業(yè)版 X64位 V2023官網(wǎng)下載
系統(tǒng)大?。?/em>0MB系統(tǒng)類型:Win11蘿卜家園在系統(tǒng)方面技術(shù)積累雄厚深耕多年,windows11下載 蘿卜家園win11專業(yè)版 X64位 官網(wǎng)正式版可以更好的發(fā)揮系統(tǒng)的性能,優(yōu)化了系統(tǒng)、驅(qū)動對硬件的加速,使得軟件在WINDOWS11系統(tǒng)中運(yùn)行得更加流暢,加固了系統(tǒng)安全策略,WINDOWS11系統(tǒng)在家用辦公上跑分表現(xiàn)都是非常優(yōu)秀,完美的兼容各種硬件和軟件,運(yùn)行環(huán)境安全可靠穩(wěn)定。
系統(tǒng)等級:進(jìn)入下載 >
相關(guān)文章
- 有什么電腦自動關(guān)機(jī)軟件好用 電腦自動關(guān)機(jī)軟件下載推薦
- 微信抽獎小程序怎么弄,教你微信轉(zhuǎn)盤抽獎小程序制作方法
- 收集意見建議小程序怎么弄,教你制作匿名收集意見的小程序
- 掃碼助力活動怎么弄,微信公眾號助力活動的制作步驟
- 海報(bào)裂變活動怎么弄,微信公眾號生成海報(bào)裂變活動的方法
- 公眾號推廣二維碼怎么弄,微信公眾號推廣二維碼生成方法
- 公眾號裂變活動制作,微信公眾號怎么做裂變活動
- 登記信息二維碼制作,如何實(shí)現(xiàn)掃碼登記填報(bào)信息
- 登記表怎么弄,教你微信登記表格怎么做
- 參數(shù)二維碼怎么弄,微信公眾號帶參數(shù)二維碼怎么生成
- 報(bào)名二維碼怎么弄,微信公眾號報(bào)名二維碼制作步驟
- 設(shè)置電腦定時(shí)關(guān)機(jī)命令如何更改 電腦定時(shí)關(guān)機(jī)命令設(shè)置方法詳解
- win7怎么自動關(guān)機(jī) win7自動關(guān)機(jī)時(shí)間設(shè)置方法
- 設(shè)置定時(shí)關(guān)機(jī)命令在哪 電腦設(shè)置定時(shí)關(guān)機(jī)命令
熱門系統(tǒng)
推薦軟件
推薦應(yīng)用
推薦游戲
熱門文章
常用系統(tǒng)
- 1Windows11企業(yè)版下載 深度技術(shù)x64位 ghost系統(tǒng) ISO鏡像下載 v2023
- 2番茄花園 GHOST WIN10 X64 裝機(jī)旗版
- 3技術(shù)員聯(lián)盟WIN11專業(yè)版 微軟原版 ghost鏡像 永久激活 X64位系統(tǒng)
- 4系統(tǒng)之家WIN11專業(yè)版 中文系統(tǒng) X64位 V2022.04下載
- 5Windows11專業(yè)版下載 系統(tǒng)之家x64位 GHOST鏡像下載 筆記本專用
- 6深度技術(shù)windows10家庭版 x64位系統(tǒng)下載 永久激活 ghost鏡像
- 7番茄花園win11企業(yè)版免激活 X64位 v2023 系統(tǒng)下載
- 8win10專業(yè)版番茄花園 windows10專業(yè)版64位系統(tǒng) v2022.05下載
- 9Win11穩(wěn)定版系統(tǒng)下載 風(fēng)林火山Ghost Win11 64位穩(wěn)定專業(yè)版