首  页 | 资讯中心 | 网络学院 | 天新汽车 | 天新手机 | 天新游戏 | 软件开发 | 考试认证
品 牌 机 | 笔 记 本 | 服 务 器 | 天新数码 - DC - DV - MP3 - MP4 - GPS - TV | 数字家庭
硬件 DIY - 主板 - CPU - 内 存 - 硬 盘 - 显示器 - 显卡 - 光驱 - 机箱 - 键鼠 - 网络设备
办公设备 | 打 印 机 | 扫 描 仪 | 投 影 仪 | 一 体 机 | 传 真 机 | 路 由 器 | 交 换 机
软件下载 | 驱动下载 | 游戏下载 | 源码下载 | 教程下载 | 站长在线 | 产品中心 | 报价中心
开发首页 | 开发语言 | .Net开发 | Java开发 | Web开发 | 移动开发 | 游戏开发 | 数据库开发 | 企业开发 | 操作系统 | 软件工程
VB VC Delphi PB BCB C++ - ASP.net C# VB.net - J2EE J2SE J2ME EJB - ASP PHP JSP CGI - MSSQL Oracle DB2 MySQL - CodingLife
  操作系统首页 | Windows编程 | Linux编程
  您现在的位置:天新网 > 软件开发 > 操作系统 > Windows编程
浅析Win2000进程的创建
http://dev.21tx.com 2005年03月12日 Blog zlyperson

每日文章精萃
.Net:C++/CLI思辨录之Object的对象布局 Java:经典Java开发工具介绍(3):WebSp
ASP:xmlhttp 抓取网页内容 PHP:递归列出所有文件和目录
JSP:利用标记库国际化JSP(1) CGI:CGI教学:CGI常用环境变量
VB:教你认识VB的座标系统 VC:如何制作Windows自定义边框的对话框

1 2 下一页

  引言

  Windows 2000是一个具有完整功能的环境,与其他操作系统相比完成同样的任务Windows 2000更出色。编程人员要编写系统层次应用程序和用户应用程序掌握Windows 2000中的进程管理至关重要。下面对Windows 2000进程的创建作详细论述。以便使读者从中掌握Windows 2000的特性,编写更有效和更有用的程序。

  使用WinExec命令

  ⑴ 函数原型:

UINT Win Exec(LPCSTR lpCmdLine, UINT uCmdShow);

  ⑵ 参数:

  lpCmdLine:指向一个空结束的字符串,串中包含将要执行的应用程序的命令行(文件名加上可选参数)。

  uCmdShow:定义Windows应用程序的窗口如何显示,并为CreateProcess函数提供STARTUPINFO参数的wShowWindow成员的值。

  ⑶ 返回值:

  若函数调用成功,则返回值大于31。若函数调用失败,则返回值为下列之一:

  ① 0:系统内存或资源已耗尽。

  ② ERROR_BAD_FORMAT:EXE文件无效(非Win32.EXE或.EXE影像错误)。

  ③ ERROR_FILE_NOT_FOUND:指定的文件未找到。

  ④ ERROR_PATH_NOT_FOUND:指定的路径未找到。

  虽然Microsoft认为WinExec已过时,但是在许多时候,简单的WinExec函数仍是运行新程序的最好方式。简单地传送作为第一个参数的命令行,还需要决定如何显示程序(该程序也许会忽视它)的第二个参数。通常,将其设置为SW_SHOW,也可尝试SW_MINIMIZED或SW_MAXIMIZED。WinExec不允许用CreateProcess获得的所有选项,而它的确简单。

  使用ShellExecute命令

  ⑴ 函数原型:

HINSTANCE ShellExecute(HWND hwnd, LPCTSTR lpOperation, LPCTSTR lpFile, LPCTSTR lpParameters, LPCTSTR lpDirectory, INT nShowCmd);

  ⑵ 参数:

  hwnd:指向父窗口的窗口句柄。此窗口接收应用程序产生的任何信息框。

  lpOperation:一个空结束的字符串地址,此字符串指定要执行的操作。下面的操作字符串是有效的:

"open" 此函数打开由参数lpFile指定的文件,此文件可以是一个可执行文件或文档文件,也可是一个文件夹。
"print" 此函数打印由参数lpFile指定的文件,此文件应是一个文档文件,假如此文件是一个可执行文件,则打开此文件。
"explore" 此函数搜索由参数lpFile指定的文件夹,此文件应是一个文档文件,

   此参数可以为空。这种情况下,函数用于打开由参数lpFile指定的文件。

  lpFile:一个空结束的字符串地址,此字符串指定要打开或打印的文件或者是要打开或搜索的文件夹。

  lpParameters:假如参数lpFile指定一个可执行文件,lpParameters则是一个空结束的字符串地址,此字符串指定要传递给应用程序的参数。假如lpFile指定一个文档文件,lpParameters应为空。

  lpDirectory:一个空结束的字符串地址,此字符串指定默认目录。

  nShowCmd:假如lpFile指定一个可执行文件,nShowCmd表明应用程序打开时如何显示。假如lpFile指定一个文档文件,nShowCmd应为空。

  ⑶ 返回值:

  若函数调用成功,则返回值大于32,否则为一个小于等于32的错误值。

  说明:可以用此函数打开或搜索一个外壳文件夹。打开文件夹可用下面任何一种形式:

ShellExecute(handle, NULL, path_to_folder, NULL, NULL, SW_SHOWNORMAL);
  
  或

ShellExecute(handle, "open", path_to_folder, NULL, NULL, SW_SHOWNORMAL);

  搜索文件夹,可用如下形式

ShellExecute(handle, "explore", path_to_folder, NULL, NULL, SW_SHOWNORMAL);

  ShellExecute命令虽已过时但易于得到。该命令向命令解释程序提出打开、浏览或打印文档或文件夹的请求,虽然可以用ShellExecute运行程序,但通常只发送文档名,而命令解释程序则决定要运行那个程序。另外在打开目录文件夹时,ShellExecute命令非常有用。

  ⑷ 程序示例

  下面通过一个例子来说名WinExec和ShellExecute的使用。下面程序有控制台程序示例,其使用两种不同的方法,打开文本文件。下面程序使用WinExec,并明确指定使用记事本程序。然后,使用ShellExecute,打开文本文件。

  程序清单

#include <windows.h>
#include <iostream.h>

void main(int argc,char *argv[])
{
 cout<<”Opening with WinExec\n”;
 if (WinExec(“notepad readme.txt”,SH_SHOW)<32)
  MessagBox(NULL,”Can’t WinExec”,NULL,MB_OK);
  cout<<”Press Enter\n”;
  MessagBox(NULL,”Press OK to continue”,”Progrm Launched”,MB_OK);
  cout<<”Opening with ShellExecute\n”;
 if (ShellExecute (NULL,”open”,”readme.txt”,NULL,NULL,SW_SHOW)<(HANDLE) 32)
  MessagBox(NULL,”Can’t ShellExecute\n”,NULL,MB_OK);
}

上一篇: 虚拟设备驱动程序两关键问题之虚拟化
下一篇: 打开”金笼子”——VXD技术漫谈

1 2 下一页

编辑推荐
相关内容
·浅析Win2000进程的创建
·Windows键盘事件监控原理及应用
·Windows下多线程编程技术及其实现
·开发WDM型USB设备驱动程序
·Windows SDK编程之基本结构
·浅析Windows编程的剪贴板机制
·Win2k驱动程序设计之硬件
·Win2000驱动程序设计初步
·几种MAIL SERVER的功能应用比较
·开发AS/400应用系统
·USB设备的Bulk模式驱动程序设计
·打开”金笼子”——VXD技术漫谈
·Win32位程序设计初步之网络通信
·Win32位程序设计初步之服务
·Windows SDK编程之建立控件
·Windows程序的基本结构
·虚拟设备驱动程序的实现
·Windows编程中的堆管理
·Longhorn应用开发部署初探
·Internet上的图像检索技术
最近更新
人气最热
·USB设备的Bulk模式驱动程序设计
·虚拟设备驱动程序关键问题之消息队列
·虚拟设备驱动程序两关键问题之虚拟化
·打开”金笼子”——VXD技术漫谈
·Windows键盘事件监控原理及应用
·Win32位程序设计初步之系统安全
·Win32位程序设计初步之网络通信
·Win32位程序设计初步之服务
·Win32程序设计初步之线程
·Win32环境下动态链接库(DLL)编程原理
·Win32编程基础知识
·Win32位程序设计初步之网络通信
·开发WDM型USB设备驱动程序
·Win32程序设计初步之线程
·WDM设备驱动程序开发平台
·USB设备的Bulk模式驱动程序设计
·Windows程序的基本结构
·Windows SDK编程之建立控件
·Windows编程中的堆管理
·Win2k驱动程序设计之硬件

 
·[硬件]芯一样价更低 阿尔法54M无线路由280
·[数码]新品炫耀 用ipod组成最发烧的音响系统
·[汽车]驴友救命图:自助游意外频发催生生命地
·[开发]MSHFlexGrid 控件的应用
·[资讯]美国科学家研制激光快速美臀法塑造迷人
·[游戏]梦幻国度专区
·[本本]不玩PDA SONY坚决集中兵力布阵笔记本
·[办公]我与老公的真实感受 体验佳能传真机
·[手机]高配不贵 夏新直板设计A665仅售1799元
·[考试]呼市打掉一青少年犯罪团伙 "老大"仅14
·[学院]显示器常见故障维修之实战篇
·[娱乐]喷气纸飞机
 

关于我们 | 联系我们 | 广告服务 | 工作机会 | 版权声明 | 欢迎投稿 | 网站地图
Copyright © 2000-2008 , www.21tx.com , All Rights Reserved .
© 晨新科技 版权所有 Created by TXSite.net