c# 控制台程序调用直接运行一个新程序和隐藏自己的窗体(转)

using  System;
using  System.Runtime.InteropServices;
using  System.Threading;
class  TestClass
ExpandedBlockStart.gifContractedBlock.gif
{
    
static void Main(string[] args)
ExpandedSubBlockStart.gifContractedSubBlock.gif    
{
        
new TestClass();    
    }

    [DllImport(
"User32.dll", EntryPoint = "FindWindow")]
    
private static extern IntPtr FindWindow(string lpClassName,string lpWindowName);

    [DllImport(
"user32.dll", EntryPoint = "FindWindowEx")]   //找子窗体   
    private static extern IntPtr FindWindowEx(IntPtr hwndParent,IntPtr hwndChildAfter, string lpszClass, string lpszWindow);

    [DllImport(
"User32.dll", EntryPoint = "SendMessage")]   //用于发送信息给窗体   
    private static extern int SendMessage(IntPtr hWnd,int Msg, IntPtr wParam, string lParam);

    [DllImport(
"User32.dll", EntryPoint = "ShowWindow")]   //
    private static extern bool ShowWindow(IntPtr hWnd, int type);   

    
public TestClass()
ExpandedSubBlockStart.gifContractedSubBlock.gif    
{

        
        System.Diagnostics.Process p 
= new System.Diagnostics.Process(); 
        p.StartInfo.FileName 
= "NOTEPAD.EXE";//打开一个记事本程序
        p.StartInfo.UseShellExecute = false;
        p.StartInfo.RedirectStandardInput 
= true
        p.StartInfo.RedirectStandardOutput 
= true
        p.StartInfo.RedirectStandardError 
= true
        p.StartInfo.CreateNoWindow 
= true;
        p.Start();
        p.Close(); 

        Console.Title 
= "1111";
        IntPtr ParenthWnd 
= new IntPtr(0);
        IntPtr et 
= new IntPtr(0);
        ParenthWnd 
= FindWindow(null"1111");
        
if (!ParenthWnd.Equals(IntPtr.Zero))
            Console.WriteLine(
"show");
        
else
            Console.WriteLine(
"error");

        ShowWindow(ParenthWnd, 
0);//隐藏本dos窗体
        
        Console.Read();

    }


}

转载于:https://www.cnblogs.com/zagelover/archive/2008/07/22/1248304.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值