当前位置:  编程技术>.net/c#/asp.net

C#判断某程序是否运行的方法

    来源: 互联网  发布时间:2014-11-04

本文实例讲述了C#判断某程序是否运行的方法,分享给大家供大家参考。

具体实现方法如下:

[DllImport("user32.dll")]
private static extern bool
SetForegroundWindow(IntPtr hWnd);
[DllImport("user32.dll")]
private static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);
[DllImport("user32.dll")]
private static extern bool IsIconic(IntPtr hWnd);
// 消息函数
[DllImport("user32.dll", EntryPoint = "PostMessageA")]
public static extern bool PostMessage(IntPtr hWnd, int Msg, int wParam, int lParam);

[DllImport("user32.dll")]
public static extern IntPtr FindWindow(string strclassName, string strWindowName);
[DllImportAttribute("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);

public const int WM_SYSCOMMAND = 0x0112;
public const int SC_MAXIMIZE = 0xF030;

private string exeName = "SaoMiaoApp";
public void SetForm()
{
  Process[] processes = Process.GetProcessesByName(exeName);

  if (processes.Length > 0)
  {
 IntPtr hWnd = processes[0].MainWindowHandle;

 if (IsIconic(hWnd))
   ShowWindowAsync(hWnd, 9);// 9就是SW_RESTORE标志,表示还原窗体
 //SendMessage(hWnd, WM_SYSCOMMAND, SC_MAXIMIZE, 0);
 SetForegroundWindow(hWnd);
  }
  else
  {
 Process.Start(exeName + ".exe");
  }
}

希望本文所述对大家的C#程序设计有所帮助。


    
相关技术文章:
    ▪C#验证码识别基础方法实例分析

     本文实例讲述了C#验证码识别基础方法,是非常实用的技巧。分享给大家供大家参考。具体方法分析如下: 背景 最近有朋友在搞一个东西,已经做的挺不错了,最后想再完美一点,于是乎就提议把这种验证码给K.O.了,于是乎就K.O.了这个验证码。达到单个图片识别时间小于200ms,500个样本人工统计正确率为95%。由于本人没有相关经验,是摸着石头过河。本着经验分享的精神,分享一下整个分析的思路。在各位大神面前献丑了。 再来看看部分识别结果如下图所示:   这里是不是看着很眼熟?下面再来具体分析一下。 ......


    ▪C#通过WIN32 API实现嵌入程序窗体

     本文实例讲述了C#通过WIN32 API实现嵌入程序窗体的方法,分享给大家供大家参考。具体如下: 这是一个不使用COM,而是通过WIN32 API实现的示例, 它把写字板程序嵌在了自己的一个面板中。 这么做可能没有实际意义, 因为两个程序之前没有进行有价值的交互, 这里仅仅是为了演示这么做到, 以下是详细注释过的主要源代码。 我们把它封装到一个类中: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics; using System.Runtime.InteropServices; using System.Windows.Forms; namespace System.Windows......


    ▪C#实现获取鼠标句柄的方法

     本文实例讲述了C#实现获取鼠标句柄的方法,分享给大家供大家参考。具体实现方法如下: 一、调用user32.dll (1)引用 using System.Runtime.InteropServices; (2)调用方法 1、获取窗口标题 [DllImport( "user32.dll" )] public static extern int GetWindowText( IntPtr hWnd, StringBuilder lpString,int nMaxCount ); 注:hWnd 窗口句柄  lpString 窗口标题   nMaxCount 最大值 2、获取类名 [DllImport( "user32.dll" )]   public static extern ......


 
最新技术文章:
    ▪C#通过IComparable实现ListT.sort()排序

     本文实例讲述了C#通过IComparable实现ListT.sort()排序的方法,分享给大家供大家参考之用。具体方法如下: 通常来说,List<T>.sort()可以实现对T的排序,比如List<int>.sort()执行后集合会按照int从小到大排序。如果T是一个自定义的Object,可是我们想按照自己的方式来排序,那该怎么办呢,其实可以用过IComparable接口重写CompareTo方法来实现。流程如下: 一、第一步我们申明一个类Person但是要继承IComparable接口: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace TestIC......


    ▪C#实现对Json字符串处理实例

     本文实例讲述了C#实现对Json字符串处理方法,分享给大家供大家参考。具体分析如下: 一般对于web应用开发人员来说对Json字符串都会很熟悉,其实在很多请求我们返回的都是Json字符串。那对于C#代码如何处理Json字符串呢,.Net封装了一个类叫做JavaScriptSerializer[MSDN Library 链接:http://msdn.microsoft.com/en-us/library/ee191864(v=vs.110).aspx];这个类提供了一个方法。 下面这个是在快递100往抓取的一个圆通的快递信息。对于我们有用的信息是快递时间,快递状况。那我该如何来做。  ......


    ▪Winform实现抓取web页面内容的方法

     本文以一个非常简单的实例讲述了Winform实现抓取web页面内容的方法,代码简洁易懂,非常实用!分享给大家供大家参考。 具体实现代码如下: WebRequest request = WebRequest.Create("http://1.bjapp.sinaapp.com/play.php?a=" + PageUrl); WebResponse response = request.GetResponse(); Stream resStream = response.GetResponseStream(); StreamReader sr = new StreamReader(resStream, System.Text.Encoding.UTF8); string htmlinfo = sr.ReadToEnd(); resStream.Close(); sr.Close(); 感兴趣的朋友可以测试运行或改进本文实例。希望本文所述对大家C#程序设计的学习有所帮助。 ......


 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2015,169IT.COM,站长邮箱:www_169it_com#163.com(请将#改为@)

浙ICP备11055608号