質問: vistaの透過的なコマンドプロンプト? vistaまたはwindows7でわずかに透過的なコマンドプロンプトウィンドウを使用することは可能ですか?それらはサードパーティの代替手段ですか?
回答: 現在実行中のすべてのcmdウィンドウとpowershellウィンドウを透過的にするには、これをpowershellターミナルで実行します(これを実行した後に開いたウィンドウは透過的ではなく、システムは変更されません)。$user32 = add-type -name user32 -namespace win32 -passthru -memberdefinition '[dllimport("user32.dll")]public static extern int getwindowlong(intptr hwnd, int nindex);[dllimport("user32.dll")]public static extern int setwindowlong(intptr hwnd, int nindex, int dwnewlong);[dllimport("user32.dll", setlasterror = true)]public static extern bool setlayeredwindowattributes(intptr hwnd, uint crkey, int balpha, uint dwflags);' get-process | where-object { @('powershell', 'cmd') -contains $_.processname } | % {$user32::setwindowlong($_.mainwindowhandle, -20, ($user32::getwindowlong($_.mainwindowhandle, -20) -bor 0x80000));$user32::setlayeredwindowattributes($_.mainwindowhandle, 0, 200, 0x02)} powershellターミナルウィンドウを常に透過的にするには(これにより、ユーザー固有のpowershellプロファイルファイルが変更されます):if (-not test-path -path $profile) { new-item -path $profile -type file -force } add-content -path $profile -value '$user32 = add-type -name ''user32'' -namespace ''win32'' -passthru -memberdefinition ''[dllimport("user32.dll")]public static extern int getwindowlong(intptr hwnd, int nindex);[dllimport("user32.dll")]public static extern int setwindowlong(intptr hwnd, int nindex, int dwnewlong);[dllimport("user32.dll", setlasterror = true)]public static extern bool setlayeredwindowattributes(intptr hwnd, uint crkey, int balpha, uint dwflags);''' add-content -path $profile -value 'get-process | where-object { @(''powershell'', ''cmd'') -contains $_.processname } | % { $user32::setwindowlong($_.mainwindowhandle, -20, ($user32::getwindowlong($_.mainwindowhandle, -20) -bor 0x80000)) | out-null;$user32::setlayeredwindowattributes($_.mainwindowhandle, 0, 200, 0x02) | out-null }'