いくつかのソフトウェア開発時間では、プログラム自体を保護するために、あなたはプログラムのプロセスを隠すために使用する必要があります。隠されたプログラムのプロセスアプローチを説明するため、以下の例で: 1 、新しいプロジェクトを作成してProject1の [ファイル]、[新しいアプリケーション。アセンブリフォームForm1のメモ上に配置され、OKボタンアセンブリ、OKボタンは、カチオン成分属性のCreateProcessを変更します。そして、タイマーコンポーネントを置きます。セットタイマーコンポーネント間隔が1000で、チェックプロセスの終了した場合、毎秒一回。 2 、手順は、タイプUnit1は使用セクションで定義されている 手順 EstablishProcess。 ヴァールUnit1は使用セクションに変数を定義します。 piProcInfoGPS:PROCESS_INFORMATION。 3、Unit1は用に 実装次のようにEstablishProcess処理部コードである調製: 手順 EstablishProcess。 ました siStartupInfSTARTUPINFO; saProcess、saThread:SECURITY_ATTRIBUTES。 fSuccess:ブール。 開始 fSuccessを: = falseは、 ZeroMemory(siStartupInfo @、はsizeof(siStartupInfo)); siStartupInfo.cb: = はsizeof(siStartupInfo)。 saProcess.nLength: = はsizeof(saProcess)。 saProcess.lpSecurityDescriptor: = PChar型(ゼロ)。 saProcess.bInheritHandle: = はtrue。 saThread.nLength: = はsizeof(saThread)。 saThread.lpSecurityDescriptor: = PChar型(ゼロ)。 saThread.bInheritHandle: = はtrue。 fSuccess: =のCreateProcess(PChar型(ゼロ)、' C:\ SR350 \ Sr350buff ' 、@ saProcess、@ saThread、偽、 CREATE_DEFAULT_ERROR_MODE、PChar型(ゼロ)、PChar型(ゼロ)、siStartupInfo、piProcInfoGPS); IF( 未 fSuccess) 、その後 Form1.Memo1.Lines.Add('Sr350buff作成プロセス失敗' ) 他 Form1.Memo1.Lines.Add(" 作成。プロセスSr350buff成功" ) エンド; 4は、ボタンのCreateProcessのOnClickイベントにプロシージャを呼び出します EstablishProcess; 5 、タイマ1のにOnTimerイベントの書き込みコード: 手順TForm1.Timer1Timer(送信者:TObjectを); ました dwExitCode:DWORD; fprocessExit:ブール。 ベギン dwExitCode: = 0 ; fprocessExit: = falseは、 fprocessExit: = GetExitCodeProcess(piProcInfoGPS.hProcess、dwExitCode)。 もし(fprocessExit 及び (dwExitCode <> STILL_ACTIVE)) 、次いで 開始 Memo1.Lines.Add(' SR350buff.exe进程终止' )。 CloseHandleを(piProcInfoGPS.hThread)。 CloseHandleを(piProcInfoGPS.hProcess)。 EstablishProcess; エンド; 終わり; 図6は、Cと呼ばれる実行可能プログラムファイルを設定:\ SR350 \ sr350buff.exe、Cので:sr350buff.exeファイルSR350ディレクトリのドライブ\必要。 7、コンパイラ接続、実行Project1のは、目に見えるのCreateProcess Cをクリックしてください:\ SR350 \ sr350buff.exe開始します。sr350buff.exeプロセス可視sr350buff.exe自動再起動をオフにします。