Indy ICMP コンポーネントでは、ping を実行するために管理者権限が必要ですか?
UAC を有効にして権限を昇格せずに実行すると、「アクセスが拒否されました」というエラー メッセージが表示されます。この質問
を見ると、Indy ICMP は RAW ソケットを使用しているため、昇格された特権が必要なように思えますか?
Delphi 2007 & Indy 10.x を使用して開発し、Windows 7 Pro でテストしています。
私の同僚は、Indy ICMP コンポーネントが RAW Windows ソケットを使用し、Vista 以降で UAC で実行するには昇格された特権が必要であると述べているこの記事を見つけました。
UAC の昇格を要求するようにプログラムを調整したところ、問題なく ping が実行されるようになりました。
別の方法は、ICMPSendEcho() とそれに関連する関数を直接呼び出すことです。