1.引用
using System.Runtime.InteropServices;
[DllImport("shell32.dll")]
public static extern int ShellExecute(IntPtr hwnd,StringBuilder lpszOp
,StringBuilder lpszFile
,StringBuilder lpszParams
,StringBuilder lpszDir
,int FsShowCmd);
2.调用,打开记事本:
ShellExecute(IntPtr.Zero
,new StringBuilder("Open")
,new StringBuilder("notepad")
,new StringBuilder("")
,new StringBuilder(@"C:\"), 1);
3.打开一个网页:
ShellExecute(IntPtr.Zero
,new StringBuilder("Open")
,new StringBuilder("http://yao.cnblogs.com/")
,new StringBuilder("")
,new StringBuilder("")
, 1);
API原型及参数含义如下:
HINSTANCE ShellExecute(HWND hwnd,
LPCTSTR lpOperation,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
);
●hWnd:用于指定父窗口句柄。当函数调用过程出现错误时,它将作为Windows消息窗口的父窗口。例如,可以将其设置为应用程序主窗口句柄,即 Application.Handle,也可以将其设置为桌面窗口句柄(用GetDesktopWindow函数获得)。
●Operation:用于指定要进行的操作。其中“open”操作表示执行由FileName参数指定的程序,或打开由FileName参数指定的文件或文件夹;“print”操作表示打印由FileName参数指定的文件;“explore”操作表示浏览由FileName参数指定的文件夹。当参数设为nil时,表示执行默认操作“open”。
●FileName:用于指定要打开的文件名、要执行的程序文件名或要浏览的文件夹名。
●Parameters:若FileName参数是一个可执行程序,则此参数指定命令行参数,否则此参数应为nil或PChar(0)。
●Directory:用于指定默认目录。
●ShowCmd:若FileName参数是一个可执行程序,则此参数指定程序窗口的初始显示方式,否则此参数应设置为0。此参数更详细说明见:C#启动一个外部程序(1)
若ShellExecute函数调用成功,则返回值为被执行程序的实例句柄。若返回值小于32,则表示出现错误。
分享到:
相关推荐
使用labview2013中文版编辑,调用shell中的ShellExecute实现打开外部应用程序,VI有详细说明,参数如下: int32_t ShellExecuteA(int32_t hwnd, int32_t lpOperation, CStr paramenters, CStr 参数4, CStr directory...
ShellExecute不仅可以运行EXE文件,也可以运行已经关联的文件。
大家都知道,当我们用C#来开发客户端程序的时候,总会不可避免的需要调用外部程序或者访问网站,本篇博客介绍了三种调用外部应用的方法,供参考,下面话不多说了,来一起看看详细的介绍吧。 实现 第一种是利用shell...
Delphi 7.0 调用外部exe文件的例子源代码,通过程序窗口,你可浏览到windows中任意的EXE可执行文件,本程序将调用它并打开它,在Delphi程序中打开外部的EXE程序,相关代码片断先看看: begin dirchar:=''; if ...
内容索引:VB源码,系统相关,窗体嵌套 VB将外部程序加载到自己程序窗体中显示,虽然这个示例很小,但可能很实用这个功能,在本例中,将计算器、记事本、翻牌游戏显示在自己所指定的窗体中,而且不会超出窗体范围,就...
很多vb爱好者对vb程序在vista uac 下运行的兼容性表示担忧。因为某些程序需要admin权限才可以操作。本例就是通过vb6.0 通过使用权限提升的方法调用另外的程序。或许对您有所帮助:)
另,网上PB调用控制其它程序的例子极少,这也是我编写这个例子的原因之一。Radmin命令行:“radmin.exe /connect:IP:端口 参数”,请自行百度。使用到的API:FindWindow()、GetWindow()、GetWindowText()、...
比如,当你在程序里面调用一个外部exe时,但却提示找不到该exe文件。 例子(这里我用win32api去隐式运行外部exe文件): import win32api win32api.ShellExecute(0, 'open', 'nginx.exe', '', '', 0) 首先,你...
7.2.2 使用ShellExecute()和ShellExecuteEx()函数 149 7.2.3 使用CreateProcess()函数 151 7.2.4 使用OLE激活服务程序 154 7.3 如何获得进程句柄 155 7.3.1 获得一个进程的句柄 155 7.3.2 提升进程权限级别 156...
SendMessage 调用一个窗口的窗口函数,将一条消息发给那个窗口 SendMessageCallback 将一条消息发给窗口 SendMessageTimeout 向窗口发送一条消息 SendNotifyMessage 向窗口发送一条消息 3. API之文件处理函数 ...