2016-07-23 10 views
0

保存機能を保存します。メモ保存コードの保存や修正方法を知りたくない場合は、必要な部分を自動的に削除する必要があります保存時に生成された/古いブラケット: ここに保存ボタンです:私はAutoHotkeyをが}を見つけ、任意の文字}のマッチングを削除して、ファイルの最後に1 }を追加し、持って取得することができますどのようAutoHotKeyヘルプと一致する文字と置換する

buttonSave: 
FileAppend, 
(
nprocess,exist, %Input% 
nprocess,priority, %Input%, %PriorInput% 
} 
), C:\Users\%A_UserName%\Desktop\AutoSetup\Settings.ahk 
MsgBox, 0, Saved, %PriorInput% Priority to %Input% has been saved. 

これはループ?

私は保存機能を持っており、出力は次のとおりです。

loop 
{ 
process,exist, Steam.exe 
process,priority, Steam.exe, 
} 
process,exist, Steam.exe 
process,priority, Steam.exe, 
} 

が、私はそれが最後}を見つけたいと中間}は、それらの両方を削除してから、一番最後に単一}を追加します。保存すると、常に下部に括弧が追加されます。私はこの(ループが高いCPU使用率の原因となる)のようなものを使用したい

+0

を私は設定ファイルに、新しいプログラムを保存したことがあった場合、これを追加します。 処理、存在、something.exe 処理、優先度、something.exe }これは、上記の現在のコードに追加します。 – Ethorbit

+0

処理済みの前後のファイルの非常に短い例(数行)を表示する方法について教えてください。 .. –

+0

今すぐそれをする – Ethorbit

答えて

1
buttonSave: 
FileRead, Contents, C:\Users\%A_UserName%\Desktop\AutoSetup\Settings.ahk 
if not ErrorLevel ; Successfully loaded 
{ 
    StringTrimRight, Contents, Contents, 1 ; remove the end } 
    FileAppend, %Contents%, C:\Users\%A_UserName%\Desktop\AutoSetup\Temp.ahk 
    Contents = ; Free the memory 
} 
FileAppend, 
(
process,exist, %Input% 
process,priority, %Input%, %PriorInput% 
} 
), C:\Users\%A_UserName%\Desktop\AutoSetup\Temp.ahk 
FileMove, C:\Users\%A_UserName%\Desktop\AutoSetup\Temp.ahk, C:\Users\%A_UserName%\Desktop\AutoSetup\Settings.ahk, 1 ; overwrite existing file 
; Run, edit C:\Users\%A_UserName%\Desktop\AutoSetup\Settings.ahk 
MsgBox, 0, Saved, %PriorInput% Priority to %Input% has been saved. 
; reload ; if Settings.ahk is included in this script 
return 
+0

ありがとう、まだ試していないが完璧に見える。 – Ethorbit

+0

それは動作します!再びありがとう! – Ethorbit

1

:たとえば

#NoEnv 
#SingleInstance Force 
#Persistent 

Menu, Tray, Add 
Menu, Tray, Add, Add Process, Add_Process 
Menu, Tray, Default, Add Process ; doubleclick the tray icon to add a new process 

SetTimer, set_priority, 500 
return 

set_priority: 
Process,exist, Notepad.exe 
Process,priority, Notepad.exe, L 
; Add Process 
return 

Add_Process: 
InputBox, ProcessName, ProcessName, Enter a Process. 
if !ErrorLevel 
InputBox, priority, priority, Enter a priority. 
if !ErrorLevel 
{ 
    text = 
    (  
    Process,exist, %ProcessName%.exe 
    Process,priority, %ProcessName%.exe, %priority% 
    ; Add Process 
    ) 
    FileRead, Contents, %A_ScriptFullPath% 
    if not ErrorLevel ; Successfully loaded 
    { 
     StringReplace, Contents, Contents, `; Add Process, %text% 
     FileAppend, %Contents%, %A_ScriptDir%\Temp.ahk 
     Contents = ; Free the memory 
    } 
    FileMove, %A_ScriptDir%\Temp.ahk, %A_ScriptFullPath%, 1 ; overwrite existing file 
    reload 
} 
return 
+0

いいえ、私は完全に機能的な方法を持っていますプロセスを追加するには、保存した設定ファイルを見つける方法を知り、保存時に自動的に生成された余分な角括弧を削除するだけでした。 – Ethorbit

+0

保存の仕方を含めて自分の投稿を編集しましたが、私は実際に追加するプロセスのguiインターフェース全体を実際に追加する必要はないと思います。 – Ethorbit

関連する問題