« 2011年2月 | トップページ | 2011年4月 »

2011年3月29日 (火)

Quick Launchの表示、非表示をトグル。

toggleql.vbs

set wshell=createobject("wscript.shell")
wshell.run "shell:::{0DF44EAA-FF21-4412-828E-260A8728E7F1}"
do while not wshell.appactivate("タスク バーと [スタート] メニューのプロパティ")
  wscript.sleep 100
loop
wshell.sendkeys "qa{esc}"

2011年3月27日 (日)

IEを少なくとも1つは開く。(その2)

IEですべてのタブを閉じると、IEも終了します。

そこで、IEのstart pageのonunloadで自身を新しいウィンドウ(タブ)で開くようにしておきます。

IeOneOpener.htm

<!-- saved from url=(0014)about:internet -->
<html>
<head><title>IE 1 Opener</title>
<script language=vbscript>
Sub window_onunload
open location.href,"_blank"
End Sub
</script>
</head>
<body>
IE 1 Opener
</body>
</html>

スクリプトが動くようにインターネットゾーンかイントラネットゾーンにしておきます。

2011年3月23日 (水)

リンクを右クリックして「同じウィンドウで開く」 IEのコンテキストメニュー拡張

<a href="about:blank" target="_blank">リンク</a>

targetのないリンクを右クリックして「新しいウィンドウで開く」「新しいタブで開く」ことはできますが、逆に、targetのあるリンクを「同じウィンドウで開く」ことはできません。

そこで、

C:\どこか\OpenSameWindow.htm

<script language=vbscript defer>
If UCase(external.menuArguments.event.srcElement.tagName)="A" Then
  external.menuArguments.location.assign external.menuArguments.event.srcElement.href
ElseIf UCase(external.menuArguments.event.srcElement.parentElement.tagName)="A" Then
  external.menuArguments.location.assign external.menuArguments.event.srcElement.parentElement.href
End If
</script>

OpenSameWindow.reg

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\同じウィンドウで開く]
@="C:\\どこか\\OpenSameWindow.htm"
"Contexts"=dword:00000022

2011年3月 6日 (日)

エンコードされたURLをデコードしてクリップボードへ送る。(ブックマークレット)

javascript:void(clipboardData.setData('text',decodeURI(location.href)))

同様に、エンコードされたURLをデコードしてアドレバーに入れ直します。

javascript:void(location.href=decodeURI(location.href))

2011年3月 5日 (土)

Vista/Win7の「ヘルプとサポート」で特定のページを開く。

urlを調べるには、そのページのソースを表示します。"<body"か"helpurl="を検索します。
<body helpurl="mshelp://help/?id=home">

OSには、urlを指定して開くコマンドがありません。HPのPCには、HPの作ったツールが付属しています。

C:\Windows\HELP\OEM\scripts\HPHS_Launcher.exe mshelp://help/?id=home

よく使うものは、ショートカットを作っておけばよいでしょう。

また、mshelp:をプロトコルに登録してしまう方法もあります。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\mshelp]
@="URL:mshelp Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\mshelp\Shell]

[HKEY_CLASSES_ROOT\mshelp\Shell\open]

[HKEY_CLASSES_ROOT\mshelp\Shell\open\command]
@="C:\\Windows\\HELP\\OEM\\scripts\\HPHS_Launcher.exe %1"

HP以外のpcでは、HP Help and Support Utilityをダウンロードすればよいでしょう。
http://h30155.www3.hp.com/helpandsupport/

2011年3月 2日 (水)

ドロップ時のカレントディレクトリは?(その2)

ドロップハンドラに依存するようです。

Vistaの実行ファイル(exeなど)用のドロップハンドラは、ドロップした(先頭の)ファイルのディレクトリ。

WSHのドロップハンドラはカレントディレクトリを変更しないので、エクスプローラのカレントディレクトリ。c:\windows\system32 など。

VBSファイルやVBSファイルのショートカットにドロップすると、エクスプローラのカレントディレクトリ。

VBSファイルのショートカットにwscript.exeを挿入して実行ファイルのショートカットに変えれば、ドロップした(先頭の)ファイルのディレクトリ。

2011年3月 1日 (火)

64bit osでは、explorer.exeは64bitのみ?

cmd.exeは、
%systemroot%\system32\cmd.exe
%systemroot%\syswow64\cmd.exe
の2つありますが、

explorer.exeは、
%systemroot%\explorer.exe
のみ。 つまり、64bitのみ、ってこと?

これを利用すると、

32/64bit exeから、64bit exeを起動するには、
%systemroot%\explorer.exe ファイル
%systemroot%\explorer.exe %systemroot%\system32\cmd.exe

« 2011年2月 | トップページ | 2011年4月 »