c#如何让当前窗体获得焦点
举个例子,比如俄罗斯方块,需要上下左右键来控制,可窗体的焦点总是在窗体的按钮上无法使用上下左右来控制游戏...
举个例子,比如俄罗斯方块,需要上下左右键来控制,可窗体的焦点总是在窗体的按钮上无法使用上下左右来控制游戏
展开
3个回答
推荐于2017-05-27
展开全部
不知道是不是我说的不清楚.是先获取鼠标当前焦点所在的进程.然后去获取该进程的焦点.代码如下:
int calcID;
IntPtr hwnd = GetForegroundWindow();
uint pID = GetWindowThreadProcessID(hwnd, out calcID);
if (AttachThreadInput(pID, GetCurrentThreadId(), true))
{
IntPtr hFocus = GetFocus();
for (int i = 0; i < text.Length;i++ )
{
char[] newText = text.ToCharArray();
SendMessage(hFocus, 0x0102,newText[i], 0);
}
}
int calcID;
IntPtr hwnd = GetForegroundWindow();
uint pID = GetWindowThreadProcessID(hwnd, out calcID);
if (AttachThreadInput(pID, GetCurrentThreadId(), true))
{
IntPtr hFocus = GetFocus();
for (int i = 0; i < text.Length;i++ )
{
char[] newText = text.ToCharArray();
SendMessage(hFocus, 0x0102,newText[i], 0);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-03-04
展开全部
你可以参考focuse的应用
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-03-04
展开全部
在属性里貌似可以设置的~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询