文字文件開啟最大化 - Windows

Table of Contents

※ 引述《pkokqk (流風)》之銘言:
: 就是txt檔
: 希望每次開啟時就是最大化
: 不要那種還要建立捷徑去設定最大化

我的作法是寫一支程式幫忙,步驟很簡單,如下:

1. 在記事本貼入下列程式,存檔時,請注意:
1) 副檔名請用 .vbs,例如:「c:\temp\MaxNotepad.vbs」。
2) 編碼方式請選: ANSI。

' -- cut here --
strComputer = "."
strMaxProgram = UCase("notepad.exe")
strExitProgram = UCase("calc.exe")
Set objWMIService = GetObject("winmgmts:\\" _
& strComputer & "\root\cimv2")

Set colMonitoredProcesses = objWMIService. _
ExecNotificationQuery( _
"select * from __instancecreationevent " _
& " within 1 where TargetInstance isa 'Win32_Process'")
i = 0
Set Shell = WScript.CreateObject("WScript.Shell")
Do While i = 0
Set objLatestProcess = colMonitoredProcesses.NextEvent
If UCase(objLatestProcess.TargetInstance.Name) = strMaxProgram Then
Shell.SendKeys "% x"
End If
If UCase(objLatestProcess.TargetInstance.Name) = strExitProgram Then
Exit Do
End If
Loop
' -- cut here --

2. 點兩下上述步驟建立的 .vbs 程式檔案。
(這支程式會背景執行,工作管理員預設會多出一支 wscript.exe)。

3. 啟動記事本或者點兩下 .txt 文字檔,順利的話,記事本會自動極大化。
啟動「小算盤」可關閉這支程式。


《原理說明》

1. 副檔名 .vbs 的檔案會被 Windows 當作是「程式」,由 wscript.exe 或
cscript.exe 載入執行。

2. 我們的程式會跟 WMI 要求「程式啟動通知」,只要有程式啟動,我們的
程式都會收到通知。

3. 通知的程式名稱如果是 notepad.exe,就送出「Alt+空白」「x」來最大化視窗;
通知的程式名稱如果是 calc.exe,就脫離迴圈結束程式。

--

All Comments

Margaret avatarMargaret2012-01-06
哈哈 沒辦法從登錄檔修改嗎? 不過還是謝謝你啦^^
Elvira avatarElvira2012-01-11
要是找得到該改那個機碼,還請賜教。
Jake avatarJake2012-01-14
看來是沒有@@"
Rosalind avatarRosalind2012-01-15
沒關係啦! 我的意思是說,以後如果有更簡單的作法,
Dora avatarDora2012-01-20
還請別忘了教我一下。
Zanna avatarZanna2012-01-21
HKEY_CURRENT_USER\Software\Microsoft\Notepad
"iWindowPosX"=dword:00000000
Tracy avatarTracy2012-01-23
"iWindowPosY"=dword:00000000
Emma avatarEmma2012-01-24
"iWindowPosDX"=dword:00000480 (解析度X的16進位)
"iWindowPosDY"=dword:00000360 (解析度Y的16進位)
Regina avatarRegina2012-01-25
這跟我說的視窗拉到最大同樣意思 XD
George avatarGeorge2012-01-29
感謝J大,您與c大的作法都是簡明有效的方式,感恩!
Jack avatarJack2012-01-30
謝謝以上各位!!