2017-01-05 3 views
-2

フックを使用してWindowsの特定のプロセスからファイルを非表示にしたい。フックを使用してWindowsの特定のプロセスからファイルを非表示にしたい

コードに関するご意見はありがとうございます。

+0

[ヘルプ]、具体的には[質問]に時間を費やしてください。あなたの質問は、あまりにも漠然としており、範囲が広いです。 –

+0

[XY問題](http://meta.stackexchange.com/a/66378/166177)のように聞こえます。あなたは本当に何をしようとしていますか? – selbie

+0

私は、Windowsフォルダにいくつかの他のファイルと一緒にテキストファイルを持っています。例:folder-> secret.txt、windows.doc、XYZ。 xls。ユーザーがフォルダを開くたびに、secret.txtを表示できないようにすべきです。フォルダには2つのファイルのみを表示する必要があります。私はこれがWindows APIをフックすることによって行うことができることを知っています。しかし、私はそれを前にしていません。だから私は進め方について少し考えています。お返事ありがとうございます。 –

答えて

0

ユーザーからファイルを隠すために標準的には、ファイルの属性隠さシステムの両方を設定することです。 「隠された」ビットを設定するとほとんどの場合ファイルが隠されますが、ExplorerのRibttonの「隠しアイテム」チェックボックスをチェックするユーザーの中には、グレー表示のアイコンが表示されることがあります。エクスプローラのオプションダイアログに深く隠されている「保護されたオペレーティングシステムファイルを隠す」チェックボックスをオフにしない限り、「システム」ビットを設定するとエクスプローラから完全に非表示になります。

コマンド・プロンプトから、あなたは簡単にattrib +h +s filename例を入力して、ファイルを非表示にすることができます:

d:\folder> attrib +h +s secret.txt 

あなたが使用していたどのプログラミング言語を言いませんでした。したがって、上記のattribコマンドを使用しているBATまたはCMDファイルでは不十分な場合は、Win32 API SetFileAttributesを使用してファイルの隠しビットとシステムビットをプログラムで設定できます。 C#と.NETにはFile.SetAtttributesがあります。

+0

ああ、行方不明のため申し訳ありません。私はVC++言語を使用しています。私のソフトウェアからファイルを見ると、それは可視になるはずです。私のソフトウェアを除いて、それはすべてのプロセスのために隠されるべきです。 (例えば、explorer.exeはファイルを見ることができないはずです) –

+0

'SetFileAttributes(L" secret.txt "、FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM);'それはあなたが必要とするものを正確に行います – selbie

関連する問題