誰がそれを見るかどうかさえわからない:-)
まあ、私はWindowsにはないMacのチップのいくつかが好きです。 可能な限り、私はそれらをスクリプト言語AutoHotKeyで書きます。 あなたはまだこの言語について知りませんか? さて、ここwww.autohotkey.comにある可能性が高いです。 これはほぼすべての本格的な言語で記述できますが、主なものはアイデアであるため、これについて例を挙げます。
たぶん、これは誰かに役立つと思われる
接続されているデバイスを表示して削除する
新しく接続されたデバイスのショートカットがデスクトップに表示される場合、すべて同じように便利です。 また、抽出を意味するアイコンに移動するだけで抽出するのも便利です。
もちろん、このプロセスにはさまざまなユーティリティ( DeskDriveなど )がありますが、残念なことに、それを単に大切なボタンに転送するだけではCD / USBを簡単に取り外すことはできません。 私の場合、抽出アイコンは、Drag`n`Dropからデバイス文字を抽出するコンパイル済みEXEへのショートカットです(はい、それらをすべて選択してそこにドロップすることができ、それらはすべて抽出されます(およびCD \ DVDも)。 ラベルに名前が表示されないようにするには、[名前の変更]をクリックし、入力フィールドでALTを押したまま、NumPadですばやく0160と入力する必要があります。 デスクトップ上のすべてのショートカットがそのようになるためには、名前が一致しないように、各ショートカットに対してこのn回目の実行を行う必要があります。
exe +アイコンはこちら
まず、抽出プログラムを検討します。
(シンプルなバージョン。デバイスのショートカットを使用して食べる-それらは抽出されます)
#NoEnv
#NoTrayIcon
Loop ; .
{
curr:=%A_Index% ;A_Index -
; := %% curr
; 1,2,3... %1%, %2%, .... -
if(curr="") ; :-)
ExitApp ;
FileGetShortcut, %curr%, OutTarget ; Target
Driveletter := SubStr(OutTarget,1,2) ;
;======== Help AutoHotKey=====
hVolume := DllCall("CreateFile"
, Str, "\\.\" . Driveletter
, UInt, 0x80000000 | 0x40000000 ; GENERIC_READ | GENERIC_WRITE
, UInt, 0x1 | 0x2 ; FILE_SHARE_READ | FILE_SHARE_WRITE
, UInt, 0
, UInt, 0x3 ; OPEN_EXISTING
, UInt, 0, UInt, 0)
if hVolume <> -1
{
DllCall("DeviceIoControl" ; USB, CD
, UInt, hVolume
, UInt, 0x2D4808 ; IOCTL_STORAGE_EJECT_MEDIA
, UInt, 0, UInt, 0, UInt, 0, UInt, 0
, UIntP, dwBytesReturned ; Unused.
, UInt, 0)
DllCall("CloseHandle", UInt, hVolume)
}
FileRecycle, %curr% ;
}
return
しかし、それは単純なバージョンでした。 「ベルとホイッスルの束」(複雑なバージョンへのリンクのすぐ上)を持つ複合体は次のようになります。
*ファイルがデバイスへのリンクをスローしない場合は、ゴミ箱に移動します(古き良きMAC)
*同じ運命は、デバイスへのリンクではなく、デバイス内のフォルダー\ファイルへのリンクになります。たとえば、
*ハードドライブへの参照と同じこと。 それらを取得する必要はありません:-)
*パラメータなしでプログラムを起動するとき(ダブルクリックするだけ)、プログラムはチェックします
すべてのデバイスの準備が整い、デスクトップ上のショートカットが更新され(不要になり、必要に応じて追加されます)、exeフォルダー「ico」からデバイスのアイコンと名前が取得されます。 アイコン名の形式は明確だと思います:(J)Soap box.ico-これはデバイスJのアイコンであり、デスクトップ上の名前は「Soap box」になることを意味します。
しかし、何かが欠けていると感じますか? うん! 接続時にデスクトップにアイコンが表示されるようにします! ただし、ここで1つの注意点があります。これには、プログラムが常にメモリにハングし、WM_DEVICECHANGEメッセージをキャッチすることが必要であり、これに同意する人はほとんどいません。 それでも、突然の場合:
コード+エグゼ
ミラー(Webfile.ru)
もちろん、いくつかのバグがあります。たとえば、カードリーダーでは正しく動作しないことがよくありますが、これは何らかの理由でシステムがメモリカードをカードリーダーに挿入または挿入するときにWM_DEVICECHANGEを送信しないためです(誰かが解決策を知っていますか?
私のマシン(XP SP3)でのみテストされているので、川でスープが注がれると思います:-)
ps:アイコンはここで取得できます:
deviantArt.com
allday.ru (登録後のみ)
www.iconspedia.com
pps:これがMac Maniacのトピックの最後のトピックではないかのように、または "私はMACにはあまりにも貧弱です" :-)