新聞中心
WPF開發(fā)工具可以幫我們實(shí)現(xiàn)許多功能。比如我們今天要向大家介紹的有關(guān)WPF處理消息的實(shí)現(xiàn)方法,就可以簡單輕松的幫助開發(fā)人員實(shí)現(xiàn)。#t#

10年積累的成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有宜君免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
在你運(yùn)行WPF程序的時(shí)候——new App().Run(new MyWindow()),有時(shí)候要使用Win32API進(jìn)行WPF處理消息的時(shí)候該怎么辦?其實(shí)很簡單,一切的需要都在System.Windows.Interop這個(gè)namespace中,這個(gè)namespace中所包含的東西主要是為Windows Presentation Foundation (WPF) 和其他技術(shù)(如 Win32API)之間的互操作提供支持類型,并為涉及WPF的其他特定互操作方案提供基類。
其他的我就不加以說明了,這里的主題是如何在WPF中使用WindowProc處理消息。
在WPF處理消息中使用WindowProc,首先要獲得一個(gè)HWND句柄(一個(gè)IntPtr類型),然后通過創(chuàng)建一個(gè)HwndSource對(duì)象,再通過調(diào)用這個(gè)對(duì)象中的AddHook方法來添加WindowProc。
- // 其他namespace
- using System.Windows.Interop;
- public partial class
MyWindow : Window- {
- public MyWindow()
- {
- InitializeComponent();
- // 處理你要做的
- // 添加WindowProc
- IntPtr hwnd = new WindowInterop
Helper(this).Handle;- HwndSource.FromHwnd(hwnd).AddHook
(new HwndSourceHook(WndProc));- }
- IntPtr WndProc(IntPtr hwnd,
int msg, IntPtr wParam, IntPtr
lParam)- {
- // 處理你要處理的消息,具體的消息可
在WinUser.h中找到,或者在MSDN中- 查找
- }
- // 其他的
- }
在這段簡單的WPF處理消息代碼中,我所創(chuàng)建的WindowProc為WndProc。HwndSourceHook是一個(gè)Delegate,這里我把WndProc傳給了他。
當(dāng)前文章:WPF處理消息使用說明
分享鏈接:http://m.fisionsoft.com.cn/article/dhiespg.html


咨詢
建站咨詢
