向进程传递消息的一个API[这个例子具有破坏性,执行前请保存未存档文件]

这是两年前写的了:-),现在从CSDN Blog上搬过来.
using System;
using System.Runtime.InteropServices;

class test_BroadcastSystemMessage
{
 
const short BSF_POSTMESSAGE=0x10;
 
static short BSM_APPLICATIONS=0x8;
 
private const Int32 SC_RESTORE =0xF120;
 
const short WM_SYSCOMMAND = 0x112;

 [DllImport(
"user32.dll")]
 
public static extern void BroadcastSystemMessage(short i,ref short ii, short iii, Int32 iiii, Int32 z);
 
static void Main()
 
{
  Console.WriteLine(
"这个程序具有破坏性,请退出当前所有程序,\"Y\"执行;\"N\"退出当前程序");
  
string confirm=Console.ReadLine();
  
switch(confirm)
  
{
   
case "Y":
    BroadcastSystemMessage(BSF_POSTMESSAGE,
ref BSM_APPLICATIONS, WM_SYSCOMMAND, SC_RESTORE, 0);
    
break;
   
case "y":
    BroadcastSystemMessage(BSF_POSTMESSAGE,
ref BSM_APPLICATIONS, WM_SYSCOMMAND, SC_RESTORE, 0);
    
break;
   
case "N":
    
break;
   
case "n":
    
break;
   
default:
    Console.WriteLine(
"请确入有效字符(Y/N),重新起动程序");
    
break;
  }

 }

}
原文地址:https://www.cnblogs.com/apexchu/p/740694.html