それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

Desktopディレクトリを変更して、見た目をスッキリさせるテクニック

たった一分で出来るライフハック

デスクトップフォルダを変更する。

普段のデスクトップはこんな感じです。


プレゼンテーションで、プロジェクタへつなぐときアイコンが丸見えで恥ずかしい思いをしました。ファイル名も見られても恥ずかしいです。

デスクトップにファイルがあると、人目が気になりません?

  1. 上司や同僚にブラウザの画面を見て貰う
  2. プロジェクタにつないでプレゼンする
  3. 画面キャプチャを撮るとアイコンが映り込んでしまう。
  4. 営業で画面を見せるときに価格表.xlsxを見られてしまう。

など

そんなときデスクトップフォルダを切り替えると便利です。

スッキリしたデスクトップは気持ちいいものです。

デスクトップを切り替えて頭を切り替える

理想のデスクトップフォルダです。デスクトップがゴチャゴチャしていると、頭もゴチャゴチャ。デスクトップをスッキリさせて頭もスッキリしましょう


デスクトップとして表示しているフォルダを変更しただけなので、いつでもすぐに、元の作業中の状態に戻すことが出来ます。

必要に応じてデスクトップフォルダを切り替えることを提案します。

簡単なので、一度試してください。病みつきになります。プレゼンの時に重宝します。

たった1分で来ます。ステップは3つです。
  1. ソースコードを名前をつけて保存します。
  2. 保存したファイルへ、フォルダをドロップします。
  3. デスクトップフォルダが切り替わります

実際の手順はこんな感じです。

1:ソースコードを名前をつけて保存します。
  • ソースは末尾に添付してあります。
  • 名前は「デスクトップフォルダ.js」です拡張子はjsです。

2:保存したファイルへ、フォルダをドロップします。

3:デスクトップフォルダが切り替わります


これで、見られたくないモノを一瞬にして隠すことが出来ます。

とっても簡単です。

他のディレクトリも試してみました。

ProgramFilesもDesktopになります。

あはは、ゴチャゴチャですね。

こんなにゴチャゴチャでも、、、、

ドラッグするだけで

すぐに、いつものデスクトップに戻ります。

プロジェクトやタスク毎にデスクトップを使い分け

プロジェクトや、仕事毎にデスクトップを使い分けることで非常に効率が良くなります。
デスクトップは仕事の滑走路です。上手に使いましょう。

デスクトップフォルダ.js
/**
* デスクトップフォルダを変更する。
*/
function DesktopFolder( FolderName ){
  key = 'HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders\\Desktop';
  sh = new ActiveXObject("WScript.Shell");
  sh.RegWrite( key, FolderName );
}

/**
* WMI をWSHから起動して引数に一致するなまえのプロセスを殺す。
* @argment program_name プログラム名(たいていは ***.exe)
*/
function TerminateProcess( program_name ){
  var strComputer = ".";
  var name = "winmgmts:\\\\" + strComputer + "\\root\\CIMV2";
  var oWmis = GetObject(name);
  var cols = oWmis.ExecQuery("SELECT * FROM Win32_Process WHERE Caption = '"+ program_name +"'")
  var list = new Enumerator(cols)
  for(;!list.atEnd(); list.moveNext()){
    var proc = list.item();
    //WScript.Echo( proc.Caption );
    //WScript.Echo( "\t" + proc.ProcessId);
    //WScript.Echo( "\t" + proc.terminate() );
    proc.terminate()
  }

}
if( WScript.Arguments.Length > 0 ){
  var name = WScript.Arguments.Item(0)
  DesktopFolder( name )
  TerminateProcess("explorer.exe");
}

細かい動作の仕組みの解説。

デスクトップやお気に入りのフォルダを変更するには。基本はレジストリキーを書き換えるだけ。で書き換えることが出来ます。

レジストリの反映は、通常はログオフOR再起動なんです。しかし再起動はしたくないので、Explorerの再起動という手もあります。

この手を使うと、簡単にレジストリを反映し、デスクトップフォルダ変更を反映することが出来ました。ただし、開いているフォルダや、一部のタスクトレイアイコン(たとえばWinshot.exe)などは行方不明になりますが、簡単に反映できる手軽さには勝てません。

Explorerは強制終了すれば、自動的に起動しますが、「もしExplorerが起動しない」場合は、CTR+Shift+ESCを同時押ししタスクマネージャのファイル名を指定して実行から、「Explorer」を起動することで反映します。



以下はこのエントリを書くために参考にしたエントリ


WindowsVistaで結構変わってるみたいでした。阿久津氏のエントリは面白いね。

参考URL

@IT:Windows TIPS -- Tips:「デスクトップ」や「お気に入り」をネットワーク・フォルダに配置する

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
を編集すればいい。

とあるが、これはXpだけに限った話でした。

Vista以降の場合

Shell Folders キーには次のように書いてあります。

!Do not use this registry key Use the SHGetFolderPath or SHGetKnownFolderPath function instead

ではどうするか?

もしかしたらSpecialFolderを使うんじゃないか?と思って調べてみた。

Windows Vista のユーザーフォルダ(User Shell Folders)の初期値
ユーザーフォルダの「デスクトップ」が「Desktop」と表示される

デスクトップやお気に入りは次のキーを書き換えるのが正解
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

@itにだまされて時間を少し無駄にした。アットマークITの昔に記事はアテにならないなぁ。

続けて調べてみた

同じこと考えている人がいました。しかもタスクトレイで切り替えられて便利。
screenshot
窓の杜 - 【NEWS】目的に合わせて“デスクトップ”フォルダを切り替えられる「DeskChange」
さくらのブログ

Vista以降は次のようにするのが良いみたい。

Vista以降のデスクトップフォルダ変更は次のようにするのが良いようでした。

デスクトップをDドライブへ | Windows XP/Vista/7の裏技

阿久津氏のエントリは参考になります。

更に調べると、さすがは、阿久津氏と思わせるデスクトップフォルダについての記述がありました

【コラム】Windowsスマートチューニング (12) Vista編: desktop.iniを用いてフォルダをカスタマイズする | パソコン | マイナビニュース

そしてデスクトップに描画遅くて使い物にならないバグについて。

ときどきデスクトップに保存したファイルが見えず、保存したけど見えないデスクトップファイルがあります。F5を押して表示してたけど、どうやら整列設定が元凶のようでした。
Windows Vista のデスクトップにコピーしたアイテムが [デスクトップ] フォルダには表示されるがデスクトップ上に表示されない

この問題を回避するには、以下の操作を実行して "等間隔に整列" 機能を有効にします。

なんとー。簡単に解決したのまたプログラムのコード量が減った。

同等の機能は他のソフトウェアにも実装があるみたい

デスクトップフォルダ切替え機能