1 /// 该函数设置由不同线程产生的窗口的显示状态 2 /// </summary> 3 /// <param name="hWnd">窗口句柄</param> 4 /// <param name="cmdshow">指定窗口如何显示。查看允许值列表,请查阅ShowWlndow函数的说明部分</param> 5 /// <returns>如果函数原来可见,返回值为非零;如果函数原来被隐藏,返回值为零</returns> 6 [Dllimport("User32.dll")] 7 @H_419_56@private @H_419_56@static @H_419_56@extern @H_419_56@bool ShowWindowAsync(IntPtr hWnd, @H_419_56@int cmdshow); 8 /// <summary> 9 /// 该函数将创建指定窗口的线程设置到前台,并且激活该窗口。键盘输入转向该窗口,并为用户改各种可视的记号。10 /// 系统给创建前台窗口的线程分配的权限稍高于其他线程。 11 /// </summary>12 /// <param name="hWnd">将被激活并被调入前台的窗口句柄</param>13 /// <returns>如果窗口设入了前台,返回值为非零;如果窗口未被设入前台,返回值为零</returns>14 [Dllimport("User32.dll")]15 @H_419_56@private @H_419_56@static @H_419_56@extern @H_419_56@bool SetForegrounDWindow(IntPtr hWnd);16 17 @H_419_56@private @H_419_56@voID BringToFront(IntPtr hWnd)18 {19 //Process currentProcess = Process.GetCurrentProcess();20 //Process process = Process.get(ID);21 //if (process != null)22 //{23 // ShowWindowAsync(process.MainWindowHandle, 1);//显示24 // SetForegrounDWindow(process.MainWindowHandle);//当到最前端25 //}26 Process[] Processes = Process.GetProcesses();// GetProcessesByname(currentProcess.Processname);27 @H_419_56@foreach (Process process @H_419_56@in Processes)28 {29 //process.Start();30 //if (process.ID != currentProcess.ID)31 //{32 // if (Assembly.GetExecutingAssembly().Location.Replace("/", "\")33 //<span > </span> == currentProcess.MainModule.filename)34 // {35 // return process;36 // }37 @H_419_56@if (process.MainWindowHandle.ToString() == "0")38 {39 @H_419_56@continue;40 }41 @H_419_56@if (process.MainWindowHandle == hWnd)42 {43 ShowWindowAsync(process.MainWindowHandle, 1);//显示44 SetForegrounDWindow(process.MainWindowHandle);//当到最前端45 }46 //}47 }48 }
总结
以上是内存溢出为你收集整理的调用user32.dll显示其他窗口全部内容,希望文章能够帮你解决调用user32.dll显示其他窗口所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)