首页 > 代码库 > Windows API

Windows API

system()

功 能:发出一个DOS命令;

用 法:int system(char *command);

system函数已经被收录在标准c库中,可以直接调用;

1、打开记事本

system("notepad.exe");

2、把E盘的文件复制到D盘

system("copy \"E:\\1.bat\" \"D:\"");

注意:调用system()会弹出黑框

 

ShellExecute()

功能:运行一个外部程序(或者是打开一个已注册的文件、打开一个目录、打印一个文件等等),并对外部程序有一定的控制;

用法:ShellExecute(

      hWnd: HWND; {指定父窗口句柄}
      Operation: PChar; {指定动作, 譬如: open、runas、print、edit、explore、find}
      FileName: PChar; {指定要打开的文件或程序}
      Parameters: PChar; {给要打开的程序指定参数; 如果打开的是文件这里应该是 nil}
      Directory: PChar; {缺省目录}
      ShowCmd: Integer {打开选项}
      ): HINST;

1、调用设备管理器

ShellExecuteW(NULL,_T("open"),_T("devmgmt.msc"),NULL,NULL,SW_SHOW);

2、打开网址

ShellExecute(Handle, "open", "http://www.ysu.edu.cn", NULL, NULL, SW_SHOWNORMAL);

 

WinExec()

该函数只提供对16位机子的兼容

打开计算器

WinExec("calc.exe",SW_SHOW);

 

CreateProcess()

功能:WIN32API函数CreateProcess()用来创建一个新的进程和它的主线程,这个新进程运行指定的可执行文件;

例:打开记事本

PROCESS_INFORMATION pi;STARTUPINFO si;TCHAR szCommandLine[] = TEXT("notepad") ;//devmgmt.mscmemset(&si,0,sizeof(si));si.cb=sizeof(si);si.wShowWindow=SW_SHOW;si.dwFlags=STARTF_USESHOWWINDOW;  CreateProcess(NULL,szCommandLine,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi);

用上面的例子打开设备管理器打不开,问题还有待解决!!!!!!!!!

 

SHFileOperation()

  一种外壳函数,用它可以实现各种文件操作,如文件的拷贝、删除、移动等,该函数使用起来非常简单,它只有一个指向 SHFILEOPSTRUCT结构的参数。使用SHFileOperation()函数时只要填写该专用结构SHFILEOPSTRUCT,告诉 Windows执行什么样的操作,以及其它重要信息就行了。SHFileOperation()的特别之处在于它是一个高级外壳函数,不同于低级文件处理。当调用SHFileOperation操作文件时,相应的外壳拷贝处理器(如果有的话)被调用。

功能:文件操作,与 Shell 的动作相同

 

Windows API所提供的功能可以归为七类:
  1. 基础服务(Base Services),提供对Windows系统可用的基础资源的访问接口。比如象:文件系统(file system)、外部设备(device)、,进程(process)、线程(thread)以及访问注册表(Windows registry)和错误处理机制(error handling)。这些功能接口位于,16位Windows下的kernel.exe、krnl286.exe或krnl386.exe系统文档中;以 及32位Windows下的 kernel32.dll和advapi32.dll中。
  2. 图形设备接口(GDI),提供功能为:输出图形内容到显示器、打印机以及其他外部输出设备。它位于16位Windows下的gdi.exe;以及32位Windows下的gdi32.dll。
  3. 图形化用户界面(GUI),提供的功能有创建和管理屏幕和大多数基本控件(control),比如按钮和滚动条。接收鼠标和键盘输入,以及其他与GUI有关的功能。这些调用接口位于:16位Windows下的user.exe,以及32位Windows下的user32.dll。从Windows XP版本之后,基本控件和通用对话框控件(Common Control Library)的调用接口放在comctl32.dll中。
  4. 通用对话框链接库(Common Dialog Box Library),为应用程序提供标准对话框,比如打开/保存文档对话框、颜色对话框和字体对话框等等。这个链接库位于:16位Windows下的 commdlg.dll中,以及32位Windows下comdlg32.dll中。它被归类为User Interface API之下。
  5. 通用控件链接库(Common Control Library),为应用程序提供接口来访问操作系统提供的一些高级控件。比如像:状态栏(status bar)、进度条(progress bars)、工具栏(toolbar)和标签(tab)。这个链接库位于:16位Windows下的commctrl.dll中,以及32位Windows下comctl32.dll中。。它被归类为User Interface API之下。
  6. Windows外壳(Windows Shell),作为Windows API的组成部分,不仅允许应用程序访问Windows外壳提供的功能,还对之有所改进和增强。它位于16位Windows下的shell.dll中,以 及32位Windows下的shell32.dll中(Windows 95则在 shlwapi.dll中)。 它被归类为User Interface API之下。
  7. 网络服务(Network Services),为访问操作系统提供的多种网络 功能提供接口。它包括NetBIOS、Winsock、NetDDE及RPC等。

Windows API