掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
使用中ファイルを強制削除するには (ID:37857)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
すばらしい〜! 見事にプロセスが切れ、何事もないように、ファイルを捨てることもできます。 ちなみに、D2009+Win7x64で試しました。 そのためなのか・・・ JwaWinType.pasのGetProcedureAddressは、以下のようにしたらコンパイルできました。 procedure GetProcedureAddress(var P: Pointer; const ModuleName, ProcName: string); var ModuleHandle: HMODULE; begin if not Assigned(P) then begin ModuleHandle := GetModuleHandle(PChar(AnsiString(ModuleName))); if ModuleHandle = 0 then begin ModuleHandle := LoadLibrary(PChar(AnsiString(ModuleName))); if ModuleHandle = 0 then raise EJwaLoadLibraryError.CreateFmt(RsELibraryNotFound, [ModuleName]); end; P := Pointer(GetProcAddress(ModuleHandle, PAnsiChar(AnsiString(ProcName)))); if not Assigned(P) then raise EJwaGetProcAddressError.CreateFmt(RsEFunctionNotFound, [ModuleName, ProcName]); end; end; 僕の訂正だと、なんか問題ありそうですが・・・ とりあえず、コンパイル通したくて。。。 これで、もし、使用されているファイルだけ指定して、jazzinさんのコードでプロセスを切るとなると、以下の手順なのでしょうね。 1.どうにかしたいロック中ファイル選ぶ 2.全プロセス列挙 3.それぞれのプロセスが使用しているファイルを順次列挙 4.1のファイルと3のファイルが一致したら、そのプロセスIDと、ソフト名を今回のプログラムに引数として与えて実行。 ・・・かな?と・・・思って、この方向で調べてみます。 もし、僕の方向性に間違いがあったら、どなたか御指摘いただけたら、幸いです。 jazzinさん、皆様、ありがとうございました!
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.