如何使窗体变成当前窗体 什么意思啊?是被激活吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 就是标题栏变成蓝色的情况! 看看如下,调用apI,ApplicationStart.cs 文件=========================================using System;using System.Diagnostics;using System.Windows.Forms;using System.Reflection;using System.Runtime.InteropServices;using ZZ.WinGui;namespace ZZ{ /// <summary> /// AppStart 的摘要说明。 /// </summary> public class ApplicationStart { private const int WS_SHOWNORMAL = 1; [DllImport("User32.dll")] private static extern bool ShowWindowAsync(IntPtr hWnd, int cmdShow); [DllImport("User32.dll")] private static extern bool SetForegroundWindow(IntPtr hWnd); /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { Process instance = GetRunningInstance(); if(instance == null) { //初始化程序配置信息 //ApplicationSettings.Initialize(); Application.Run(new MainForm()); } else { HandleRunningInstance(instance); } } /// <summary> /// 获取应用程序的实例,没有其它的例程,返回Null /// </summary> /// <returns></returns> public static Process GetRunningInstance() { Process current = Process.GetCurrentProcess(); Process[] processes = Process.GetProcessesByName(current.ProcessName); //遍历正在有相同名字运行的例程 foreach (Process process in processes) { //忽略现有的例程 if (process.Id != current.Id) //确保例程从EXE文件运行 if (Assembly.GetExecutingAssembly().Location.Replace("/", "\\") == current.MainModule.FileName) //返回另一个例程实例 return process; } return null; } /// <summary> /// 获取窗口句柄 /// </summary> /// <param name="instance"></param> public static void HandleRunningInstance(Process instance) { //确保窗口没有被最小化或最大化 ShowWindowAsync (instance.MainWindowHandle , WS_SHOWNORMAL); //设置真实例程为foreground window SetForegroundWindow (instance.MainWindowHandle); } }} 关于.NET多线程的一个问题 菜鸟发问:dbml与edmx有什么区别 关于接口的问题 Winform 可否得到post的页面? Oracle数据库的问题。还望帮忙谢谢 C#中引用C写得DLL得问题 图片象素格式的问题,急。。100分不够还可再开帖加 关于猴子选大王代码的困惑 这行代码什么意思? 求助 Menu 或 ToolBar 设计器中,如何使用自定义的类? 请问如何复制XmlNode?
ApplicationStart.cs 文件
=========================================
using System;
using System.Diagnostics;
using System.Windows.Forms;
using System.Reflection;
using System.Runtime.InteropServices;using ZZ.WinGui;namespace ZZ
{
/// <summary>
/// AppStart 的摘要说明。
/// </summary>
public class ApplicationStart
{
private const int WS_SHOWNORMAL = 1;
[DllImport("User32.dll")]
private static extern bool ShowWindowAsync(IntPtr hWnd, int cmdShow);
[DllImport("User32.dll")]
private static extern bool SetForegroundWindow(IntPtr hWnd);
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Process instance = GetRunningInstance();
if(instance == null)
{
//初始化程序配置信息
//ApplicationSettings.Initialize();
Application.Run(new MainForm());
}
else
{
HandleRunningInstance(instance);
}
}
/// <summary>
/// 获取应用程序的实例,没有其它的例程,返回Null
/// </summary>
/// <returns></returns>
public static Process GetRunningInstance()
{
Process current = Process.GetCurrentProcess();
Process[] processes = Process.GetProcessesByName(current.ProcessName);
//遍历正在有相同名字运行的例程
foreach (Process process in processes)
{
//忽略现有的例程
if (process.Id != current.Id)
//确保例程从EXE文件运行
if (Assembly.GetExecutingAssembly().Location.Replace("/", "\\") == current.MainModule.FileName)
//返回另一个例程实例
return process;
}
return null;
}
/// <summary>
/// 获取窗口句柄
/// </summary>
/// <param name="instance"></param>
public static void HandleRunningInstance(Process instance)
{
//确保窗口没有被最小化或最大化
ShowWindowAsync (instance.MainWindowHandle , WS_SHOWNORMAL);
//设置真实例程为foreground window
SetForegroundWindow (instance.MainWindowHandle);
}
}
}