| ||
Ho creato il launcher e funziona bene solo che se in visualization option 0 o 2 freespace c,d, activity e,f
mi riporta nel titolo freespace c freespace activity d freespace activity e f non vengono viste e non riesco a capire dove sta il problema. Qualche idea? CODICE #include <TCfunction.au3> TrayIcon() Local $TCUltraPack_ini = @ScriptDir & "\TCUltraPack.ini" SetDefaultOptions() Local $drives_freespace_option = IniRead($TCUltraPack_ini, "HDD", "Freespace", "all") Local $drives_activity_option = IniRead($TCUltraPack_ini, "HDD", "Activity", "all") Local $visualization_option = IniRead($TCUltraPack_ini, "HDD", "Visualization", "0") Local $ram_option = IniRead($TCUltraPack_ini, "ram", "option", "1") Local $cpu_option = IniRead($TCUltraPack_ini, "cpu", "option", "1") Local $tray_option = IniRead($TCUltraPack_ini, "tray", "option", "1") SetDefaultOptions() If $drives_freespace_option = "all" Then $drives_freespace_option = "cdefghijklmnopqrstuvwxyz" EndIf If $drives_activity_option = "all" Then $drives_activity_option = "cdefghijklmnopqrstuvwxyz" EndIf $drives_freespace_array = StringSplit($drives_freespace_option, "", 1) $drives_activity_array = StringSplit($drives_activity_option, "", 1) $pid = Run(@ScriptDir & '\TOTALCMD64.EXE') Sleep(100) While True Local $windows = WinList("[CLASS:TTOTAL_CMD]") Local $found = False For $i = 1 To UBound($windows) - 1 Local $process_id = WinGetProcess($windows[$i][1]) If $process_id = $pid Then $found = True Local $version = IniRead(@ScriptDir & "\version.ini", "Setup", "Version", "Default Value") Local $new_title = "TC UltraPack X64 v" & $version Local $drives_display_string = "", $new_title_with_info = $new_title If $visualization_option = "0" Then For $j = 1 To UBound($drives_freespace_array) - 1 $drive_letter = $drives_freespace_array[$j] If DriveStatus($drive_letter & ":\") = "READY" Then $free_space_percent = Round(DriveSpaceFree($drive_letter & ":\") / DriveSpaceTotal($drive_letter & ":\") * 100, 2) $drive_activity = GetDriveActivity($drive_letter) $drives_display_string &= " | " & StringUpper($drive_letter) & ":(" & $free_space_percent & "%)(" & $drive_activity & "%)" EndIf Next If $drives_display_string <> "" Then $new_title_with_info &= " - HDD's" $new_title_with_info &= " (FreeSpace)(Activity): " & StringTrimLeft($drives_display_string, 3) EndIf ElseIf $visualization_option = "1" Then For $j = 1 To UBound($drives_freespace_array) - 1 $drive_letter = $drives_freespace_array[$j] If DriveStatus($drive_letter & ":\") = "READY" Then $free_space_percent = Round(DriveSpaceFree($drive_letter & ":\") / DriveSpaceTotal($drive_letter & ":\") * 100, 2) $drives_display_string &= " | " & StringUpper($drive_letter) & ":(" & $free_space_percent & "%)" EndIf Next For $j = 1 To UBound($drives_activity_array) - 1 $drive_letter = $drives_activity_array[$j] If DriveStatus($drive_letter & ":\") = "READY" Then $drive_activity = GetDriveActivity($drive_letter) $drives_display_string &= " | " & StringUpper($drive_letter) & ":(" & $drive_activity & "%)" EndIf Next If $drives_display_string <> "" Then $new_title_with_info &= " - HDD's" $new_title_with_info &= " (FreeSpace)(Activity): " & StringTrimLeft($drives_display_string, 3) EndIf ElseIf $visualization_option = "2" Then For $j = 1 To UBound($drives_freespace_array) - 1 $drive_letter = $drives_freespace_array[$j] If DriveStatus($drive_letter & ":\") = "READY" Then $free_space_percent = Round(DriveSpaceFree($drive_letter & ":\") / DriveSpaceTotal($drive_letter & ":\") * 100, 2) $drive_activity = GetDriveActivity($drive_letter) $drives_display_string &= " | " & StringUpper($drive_letter) & ":(" & $drive_activity & "%)(" & $free_space_percent & "%)" EndIf Next If $drives_display_string <> "" Then $new_title_with_info &= " - HDD's" $new_title_with_info &= " (Activity)(FreeSpace): " & StringTrimLeft($drives_display_string, 3) EndIf EndIf If $ram_option = "1" Then $ram_free = Round(100 * GetFreeMemory() / GetTotalMemory(), 2) $new_title_with_info &= " | RAM Free: (" & $ram_free & "%)" EndIf If $cpu_option = "1" Then $cpu_usage = Round(GetCpuUsage(), 2) $new_title_with_info &= " | CPU Used:( " & $cpu_usage & "%)" EndIf $original_title = WinGetTitle($windows[$i][1]) $number_in_brackets = StringRegExp($original_title, "\[(\d+)\]", 1) If IsArray($number_in_brackets) Then $new_title_with_info = "[" & $number_in_brackets[0] & "] " & $new_title_with_info EndIf WinSetTitle($windows[$i][1], "", $new_title_with_info) EndIf Next Sleep(1000) If Not $found Then Exit WEnd Questo e' l'include CODICE ;SetDefaultOptions();Da mettere nello script per chiamare la scrittura del file.ini Func SetDefaultOptions() If Not FileExists($TCUltraPack_ini) Then ; Aggiungi descrizione in cima al file TCUltraPack.ini IniWrite($TCUltraPack_ini, "Descrizione", "===", " Modificare le opzioni per personalizzare le preferenze") IniWrite($TCUltraPack_ini, "Descrizione", "=", "") IniWrite($TCUltraPack_ini, "Descrizione", "===", " Le opzioni disponibili sono elencate di seguito:") IniWrite($TCUltraPack_ini, "Descrizione", "=", "") IniWrite($TCUltraPack_ini, "Descrizione", "=== Ram ", " Ram=0 non visualizzare ram sul titolo della finestra o 1 visualizza la ram sul titolo della finestra") IniWrite($TCUltraPack_ini, "Descrizione", "=", "") IniWrite($TCUltraPack_ini, "Descrizione", "=== Cpu ", " Cpu=0 non visualizzare cpu sul titolo della finestra o 1 visualizza cpu sul titolo della finestra") IniWrite($TCUltraPack_ini, "Descrizione", "=", "") IniWrite($TCUltraPack_ini, "Descrizione", "=== Hdd ", " Freespace=ALL visualizza tutti i dischi nel titolo, 0 non visualizzare i dischi nel titolo, lettere con , esempio C,F visualizza solo le lettere scelte nel titolo") IniWrite($TCUltraPack_ini, "Descrizione", "=", "") IniWrite($TCUltraPack_ini, "Descrizione", "=== Hdd ", " Activity=ALL visualizza tutti i dischi nel titolo, 0 non visualizzare i dischi nel titolo, lettere con , esempio C,F visualizza solo le lettere scelte nel titolo") IniWrite($TCUltraPack_ini, "Descrizione", "=", "") IniWrite($TCUltraPack_ini, "Descrizione", "=== Hdd ", " Visualisation=0 HDD uniti per lettera Freespace Activity. =1 Separati. 2=Uniti per lettara HDD Activity Freespace") IniWrite($TCUltraPack_ini, "Descrizione", "=", "") IniWrite($TCUltraPack_ini, "Descrizione", "=== TRAY ", " TRAY=0 non visualizzare l'icona nel Tray di Windows") IniWrite($TCUltraPack_ini, "Descrizione", "=", "") IniWrite($TCUltraPack_ini, "Descrizione", "=== ATTENZIONE ==", " In caso di problemi, cancellare TCUltraPack.ini e riavviare TCUltraPack") IniWrite($TCUltraPack_ini, "Descrizione", "=============================", "===============================================================================================================================================") IniWrite($TCUltraPack_ini, "HDD", "Freespace", "ALL") IniWrite($TCUltraPack_ini, "HDD", "Activity", "ALL") IniWrite($TCUltraPack_ini, "HDD", "Visualisation", "0") IniWrite($TCUltraPack_ini, "RAM", "Option", "1") IniWrite($TCUltraPack_ini, "CPU", "Option", "1") IniWrite($TCUltraPack_ini, "TRAY", "Option", "0") EndIf EndFunc Func GetCpuUsage() Local $objWMI = ObjGet("winmgmts:\\.\root\cimv2") Local $cpuQuery = $objWMI.ExecQuery("Select * from Win32_PerfFormattedData_PerfOS_Processor WHERE Name = '_Total'") Local $cpuUsage = 0 For $cpu In $cpuQuery $cpuUsage = $cpu.PercentProcessorTime Next Return $cpuUsage EndFunc Func MemGetFreePhys() Local $st_MemInfo = DllStructCreate("dword;dword;dword;dword;dword;dword") Local $a_Return = DllCall("Kernel32.dll", "BOOL", "GlobalMemoryStatusEx", "struct*", $st_MemInfo) If Not $a_Return[0] Then Return SetError(1, 0, 0) Return DllStructGetData($st_MemInfo, 4) EndFunc Func GetTotalMemory() Local $memoryInfo = MemGetStats() Return $memoryInfo[1] EndFunc Func GetFreeMemory() Local $memoryInfo = MemGetStats() Return $memoryInfo[2] EndFunc Func GetDriveActivity($drive_letter) Local $objWMI = ObjGet("winmgmts:\\.\root\cimv2") Local $drive_activity = 0 If DriveStatus($drive_letter & ":\") = "READY" Then $drive_activity_query = $objWMI.ExecQuery("SELECT PercentDiskTime FROM Win32_PerfFormattedData_PerfDisk_LogicalDisk WHERE Name='" & $drive_letter & ":'") For $drive In $drive_activity_query $drive_activity = Round($drive.PercentDiskTime / 10) If $drive_activity > 100 Then $drive_activity = 100 Next EndIf Return StringFormat("%02d", $drive_activity) EndFunc Func TrayIcon() Local $iniFile = "TCUltraPack.ini" Local $trayOption = IniRead($iniFile, "Tray", "Option", "") If $trayOption = 1 Then TraySetState() ElseIf $trayOption = 0 Then TraySetState(2) EndIf EndFunc |