Windows API

4981 ワード

system()
機能:DOSコマンドを発行する;
使用法:int system(char*command);
System関数はすでに標準cライブラリに収録されており、直接呼び出すことができる.
1、手帳を開ける
system("notepad.exe");

2、EディスクのファイルをDディスクにコピーする
system("copy \"E:\\1.bat\" \"D:\"");

注:system()を呼び出すと黒いボックスがポップアップします
 
ShellExecute()
機能:外部プログラム(または登録されたファイルを開く、ディレクトリを開く、ファイルを印刷するなど)を実行し、外部プログラムに対して一定の制御を行う.
使用法: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()
機能:WIN 32 API関数CreateProcess()は、指定した実行可能ファイルを実行する新しいプロセスとそのメインスレッドを作成するために使用されます.
例:手帳を開く
PROCESS_INFORMATION pi;

STARTUPINFO si;

TCHAR szCommandLine[] = TEXT("notepad") ;//devmgmt.msc

memset(&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構造を指すパラメータが1つしかありません.SHFileOperation()関数を使用する場合は、この専用構造のSHFILEOPSTRUCTを記入し、Windowsがどのような操作を行うか、その他の重要な情報を教えてください.SHFileOperation()の特別な点は、低レベルのファイル処理とは異なる高度なシェル関数であることです.SHFileOperationオペレーションファイルが呼び出されると、対応するシェルコピープロセッサ(存在する場合)が呼び出されます.
機能:ファイル操作、Shellの動作と同じ
 
Windows APIが提供する機能は7つに分類できます.
  • ベーシックサービス(Base Services)は、Windowsシステムで利用可能なベーシックリソースへのアクセスインタフェースを提供します.たとえば、ファイルシステム(file system)、外部デバイス(device)、プロセス(process)、スレッド(thread)、アクセスレジストリ(Windows registry)、エラー処理メカニズムなどです.(error handling).これらの機能インタフェースは、16ビットWindowsのkernel.exe、krnl 286.exeまたはkrnl 386.exeシステムドキュメント、および32ビットWindowsのkernel 32.dllおよびadvapi 32.dllにあります.
  • グラフィックデバイスインタフェース(GDI)は、ディスプレイ、プリンタ、その他の外部出力デバイスにグラフィックコンテンツを出力する機能を提供する.16ビットWindowsのgdi.exe、32ビットWindowsのgdi 32.dllである.
  • ユーザーインタフェース(GUI)をグラフィックス化し、画面の作成と管理とほとんどの基本コントロールを提供します.(control)ボタンやスクロールバーなど.マウスやキーボード入力、その他のGUIに関する機能を受信します.これらの呼び出しインタフェースは、16ビットWindowsの下にあるuser.exeと、32ビットWindowsの下にあるuser 32.dllにあります.Windows XPバージョン以降、基本コントロールと汎用ダイアログボックスコントロール(Common Control Library)の呼び出しインタフェースはcomctl 32.dllに配置されます.
  • 汎用ダイアログリンクライブラリ(Common Dialog Box Library)は、ドキュメントのオープン/保存ダイアログボックス、色ダイアログボックス、フォントダイアログボックスなど、アプリケーションに標準ダイアログボックスを提供します.このリンクライブラリは、16ビットWindowsのcommdlg.dll、および32ビットWindowsのcomdlg 32.dllにあります.これはUser Interface APIの下に分類されます.
  • 汎用コントロールリンクライブラリ(Common Control Library)は、オペレーティングシステムにアクセスするためにアプリケーションにインタフェースを提供する高度なコントロールです.たとえば、ステータスバー(status bar)、プログレスバー(progress bars)、ツールバー(toolbar)、ラベルなどです.(tab).このリンクライブラリは、16ビットWindowsのcommctrl.dllと、32ビットWindowsのcomctl 32.dllにあります.User Interface APIの下に分類されます.
  • Windowsシェル(Windows Shell)は、Windows APIの一部として、Windowsシェルが提供する機能にアプリケーションがアクセスできるようにするだけでなく、改善され、強化されています.16ビットWindowsのshell.dll、32ビットWindowsのshell 32.dllにあります.(Windows 95はshlwapi.dll)です.User Interface APIの下に分類されます.
  • ネットワークサービス(Network Services)は、オペレーティングシステムにアクセスするために提供される様々なネットワーク機能にインタフェースを提供する.NetBIOS、Winsock、NetDDE、RPCなどを含む.