-
Posts
377 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Everything posted by asmazh
-
Çi were serê te bila were, qet reşbîn nebe... * Şemsê Tebrizî
-
Dezanformasyonlarımız var, twitterlarımız var, teknoloji çağına girdik... Sanırım bize nazar değdi...
-
Kitap gerçekten güzel. İlk cümleden sonrası seni bırakmıyor, bir solukta okuduğum bir kitap.
-
Güzel, bir gelişme var :) Algoritma için; bkz: http://tr.wikipedia.org/wiki/Algoritma
-
İnternet Download Manager bir nimettir. Buna da sözüm var. Bir gün zengin olursam satın alacağım.
-
$WS_EX_TOOLWINDOW Bu sabit değişken ile yapılıyor.
-
Koda Form Designer'ı biraz incelesen istediğin şeyi yaparsın. Misal: #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 615, 437, 192, 124, -1, BitOR($WS_EX_TOOLWINDOW,$WS_EX_WINDOWEDGE)) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd
-
Linux ne kadar zeevkli lan! İstemediğin kadar kaynak kod var. Canın mı sıkıldı, herhangi bir linux aracının kaynak kodarını incele üzerinde değişillik yapmaya çalış, bir şeyler öğren... Anlatılmaz; yaşanır...
-
Ben de önermem lakin, zeki bir virüs bu engeli çok kolay bir şekilde aşar. Mesele değil.
-
Tabi ki de, her açıdan etkiler. Mesela While döngüsü içerisine uyar() diye bir fonksiyon atmışsın, bu da işlemciyi çok fazla kasıyor. Girişte parola koruması koymuşsun ama doğru çalışmıyor, algoritma hatası var. Programın daha istikrarlı çalışabilmesi için bu sorunları gidermen lazım.
-
Selam olsun yüreği mert olan yiğitlere... Selam olsun...
-
Çözümü var, klasörün kendisinden tam denetim hakkı alman lazım. Sağ tıkla Özellikler/Özelleştir/Güvenlik/Gelişmiş Bu adresten tam denetim haklarını alman lazım. Yanılmıyorsam everyone ile sağlanabiliyordu tam denetim.
-
Senin kodlarında tonla mantık hatası var. Mantık hatalarını düzeltmeye vaktim yok ama icon olayını senin için hallettim. Kolay gelsin. #NoTrayIcon #region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Icon=Install_Edilenler\ikon.ico #AutoIt3Wrapper_Compression=4 #include <ButtonConstants.au3> #include <EditConstants.au3> #include <GDIPlus.au3> ;Arkaplan için #include <GUIConstantsEx.au3> #include <GuiListView.au3> #include <GuiImageList.au3> #include <ListViewConstants.au3> #include <Process.au3> #include <WindowsConstants.au3> ;#include <WinAPI.au3> DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', -1) Opt("TrayMenuMode", 1) ; Sadece Kullanıcının oluşturduğu menüler Görünsün. (Script pause ve Exit Görünmesin) Opt("TrayIconHide", 1) DirRemove(@UserProfileDir & "\Local Settings\Temp", 1) RegWrite("HKEY_CURRENT_USER\Software\Kamuran Program Kısıtlama", "Şifre", "REG_SZ", "0") DirCreate(@TempDir & "\Progkam") DirCreate(@UserProfileDir & "\Application Data\Microsoft") Global $FileIni = @UserProfileDir & "\Application Data\Microsoft\ProcessDisable.ini" FileInstall("Install_Edilenler\arka.jpg", @TempDir & "\Progkam\arka.jpg") FileInstall("ProcessDisable.ini", @TempDir & "\Progkam\ProcessDisable.ini") GUISetIcon("Install_Edilenler\ikon.ico") ;ikon Programın sol üstünde çıkar FileInstall("Install_Edilenler\about.bmp", @TempDir & "\Progkam\about.bmp") TraySetIcon("Install_Edilenler\ikon.ico") ; tray ikonu için GUISetIcon(@TempDir & "\$.tmp") ;Tepedeki İkon için HotKeySet("^{F7}", "To_Tray") $PRGNAME = "Program Engelleme -.- By Kamuran" $Form1 = GUICreate($PRGNAME, 370, 492, -1, -1, -1) GUISetBkColor(0x00000F) ; TURUNCU 0xF1C11F ;Siyah 0x000000 ;Beyaz 0xFFFFFF ;Koyu Lacivert 0x00000F GUICtrlCreatePic(@TempDir & "\Progkam\arka.jpg", 0, 0, 370, 500) GUICtrlSetState(-1, 128) ; Arkaplan varken Butonların Tıklanabilmesi içindir Local $exStyles = BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_SUBITEMIMAGES, $LVS_EX_CHECKBOXES) $ListView1 = GUICtrlGetHandle(GUICtrlCreateListView("Programlar", 2, 20, 205, 470, BitOR($LVS_SHOWSELALWAYS, $LVS_NOSORTHEADER, $LVS_REPORT))) _GUICtrlListView_SetExtendedListViewStyle(-1, $exStyles) GUICtrlSetFont(-1, 9, 600, 0, "Arial") GUICtrlSetTip(-1, " Seçmek için İsimleri Tıkla") GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 200) $Edit1 = GUICtrlCreateEdit("edit", 250, 390, 89, 20, BitOR($ES_AUTOVSCROLL, $ES_WANTRETURN), 0) GUICtrlSetFont(-1, 9, 600, 0, "Arial") $Gizle = GUICtrlCreateButton("Gizle", 250, 5, 78, 25) GUICtrlSetFont(-1, 9, 560, 0, "Arial") GUICtrlSetTip(-1, " Program Gizli olarak" & @CRLF & " Devrede olsun") $OrjListe = GUICtrlCreateButton("Listeyi Sil", 250, 60, 78, 22) GUICtrlSetFont(-1, 9, 560, 0, "Arial") GUICtrlSetTip(-1, " Listeyi Sil" & @CRLF & " Orjinal Program Listesini Yükle") $Ekle = GUICtrlCreateButton("Ekle", 250, 90, 40, 25) GUICtrlSetFont(-1, 9, 560, 0, "Arial") GUICtrlSetTip(-1, " Listeye Yeni program ekle") $Sil = GUICtrlCreateButton("Sil", 290, 90, 40, 25) GUICtrlSetFont(-1, 9, 560, 0, "Arial") GUICtrlSetTip(-1, " Seçilen Programı Listeden Sil") $Taskmgr = GUICtrlCreateButton("Görev Yöneticisi", 250, 125, 90, 25) GUICtrlSetTip(-1, " Görev Yöneticisini Aç") $ProgSifresiDegistir = GUICtrlCreateLabel(" Program Şifresini Değiştir", 252, 162, 97, 31) GUICtrlSetFont(-1, 9, 600, 0, "Arial") GUICtrlSetColor(-1, 0xFFFFFF) GUICtrlSetBkColor(-1, 0x007100) GUICtrlSetCursor(-1, 0) GUICtrlSetTip(-1, "Program Şifresini Değiştirebilirsiniz") ;$hakkindaResim = GUICtrlCreatePic(@TempDir & "\Progkam\about.bmp", 240, 270, 97, 79) ;GUICtrlSetCursor (-1, 0) ;GUICtrlSetOnEvent(-1, "hakkinda") ;Olmadı CASEYE ekledim ;GUICtrlSetTip(-1, "Hakkında.") GUICtrlCreateLabel("Seçilen Programlar, Otomatik olarak engellenir", 3, 2, 220, 15) GUICtrlSetColor(-1, 0xFFFFFF) ;Kırmızı 0xFF0000) GUICtrlCreateLabel(" Şifre kısmı boş olursa" & @CRLF & " Program Gizli iken" & @CRLF & " F7 ile çağıramazsın", 210, 202, 150, 43) GUICtrlSetColor(-1, 0xFF0000) GUISetState(@SW_SHOW) GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY") __ProcessList_AllAdd() AdlibRegister("AutoClose", 500) While 1 uyar() $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Ekle __ProcessList_Add() Case $Sil __ProcessList_SelectDell() Case $Taskmgr ShellExecute("taskmgr.exe") ;Case $hakkindaResim ; hakkinda() Case $Gizle GUISetState(@SW_HIDE, $Form1) Case $ProgSifresiDegistir $GuiSifreDegistir = GUICreate(".::By Kamuran::.", 240, 100) ; -1'ler default değeri parametre olarak yollar. $aman = GUICtrlCreateInput("", 105, 27, 90) $RegdenAL = RegRead("HKEY_CURRENT_USER\Software\Kamuran Program Kısıtlama", "Şifre") GUICtrlCreateLabel("Şu Anki Şifreniz: " & $RegdenAL, 15, 8, 100, 17) GUICtrlCreateLabel("Yeni Şifre Giriniz:", 15, 32, 90, 17) $Kapat = GUICtrlCreateButton("&Vazgeç", 125, 58, 75, 25, 0) $SifreDegisitr = GUICtrlCreateButton("Degistir", 35, 58, 75, 25, 0) GUISetState(@SW_SHOW, $GuiSifreDegistir) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $SifreDegisitr $oku = GUICtrlRead($aman) RegWrite("HKEY_CURRENT_USER\Software\Kamuran Program Kısıtlama", "Şifre", "REG_SZ", $oku) MsgBox(32, "By Kamuran", "Yeni Şifreniz:" & @CRLF & "========================" & @CRLF & $oku & @CRLF & "========================" & @CRLF & @CRLF & @CRLF & @CRLF, 2) ContinueCase Case $GUI_EVENT_CLOSE, $Kapat ; hem çarpıya tıkladığında hemde Kapat butonuna tıkladığında aynı işlevi yapar. GUIDelete($GuiSifreDegistir) ExitLoop EndSwitch WEnd ;$ProgSifresiDegistir BİTTİ Case $OrjListe FileDelete(@UserProfileDir & "\Application Data\Microsoft\ProcessDisable.ini") Sleep("333") FileCopy(@TempDir & "\Progkam\ProcessDisable.ini", @UserProfileDir & "\Application Data\Microsoft\ProcessDisable.ini", 9) __ProcessList_AllAdd() EndSwitch If Not WinActive($PRGNAME, "") Then _SK_ProcessHide() ;Program aktif değil ise WEnd AdlibRegister("_SK_ProcessHide", 0) ; Process i Gizlemek İçin BURDAN Başlar If Not (@Compiled) Then MsgBox(64, "HATA", "Uygulamanın çalışması için scriptin compile edilmesi gerekir!") Func _SK_ProcessHide() Opt("WinTitleMatchMode", 4) ; Gelişmiş mod pencere başlıkları için $TaskmgrTitle = "[CLASS:#32770]" ;Görev yöneticisinin Class bilgisi Dim $ProcessName = @ScriptName ;Process adı herhangi bir exe adı da olabilir.Notepad.exe gibi... $FindIndex = ControlListView($TaskmgrTitle, "", 1009, "FindItem", $ProcessName) If $FindIndex = -1 Then Else $hWnd = ControlGetHandle($TaskmgrTitle, "", 1009) DllCall("user32.dll", "int", "SendMessage", "hwnd", $hWnd, "int", 0x1008, "int", $FindIndex, "int", 0) EndIf Sleep(5);CPU SAVE EndFunc ;==>_SK_ProcessHide ; Process i Gizlemek İçin BURAYA KADAR Func __ProcessList_SelectDell() Local $Count = Number(_GUICtrlListView_GetItemCount($ListView1)) If $Count = "" Then Return SetError(1) For $i = 0 To $Count If _GUICtrlListView_GetItemChecked($ListView1, $i) Then IniDelete($FileIni, _GUICtrlListView_GetItemText($ListView1, $i)) EndIf Next __ProcessList_AllAdd() EndFunc ;==>__ProcessList_SelectDell Func __ProcessList_Add() Local $F_Name, $F_OpenDialog = FileOpenDialog("", @ProgramFilesDir, "(*.exe)", 1, "", $Form1) If @error Or $F_OpenDialog = "" Then Return SetError(@error) Local $a = IniReadSectionNames($FileIni), $c $F_Name = StringTrimLeft($F_OpenDialog, StringInStr($F_OpenDialog, "\", 0, -1)) If IniRead($FileIni, $F_Name, "FileFulPath", "") <> "" Then If MsgBox(64 + 4, "", "Lan böyle bir program zaten ekli! Yine de değiştirmek ister misin?") = 6 Then IniWrite($FileIni, $F_Name, "FileFulPath", $F_OpenDialog) EndIf Else IniWrite($FileIni, $F_Name, "FileFulPath", $F_OpenDialog) EndIf __ProcessList_AllAdd() EndFunc ;==>__ProcessList_Add Func __ProcessList_AllAdd() Local $Files = IniReadSectionNames($FileIni) If @error Then Return SetError(1) Local $Image = _GUIImageList_Create(16,16 , 5, 1) For $i = 1 To $Files[0] _GUIImageList_AddIcon($Image, IniRead($FileIni, $Files[$i], "FileFulPath", "")) Next _GUICtrlListView_DeleteAllItems($ListView1) Local $Array = IniReadSectionNames($FileIni), $iI If Not IsArray($Array) Then Return SetError(@error) _GUICtrlListView_SetImageList($ListView1, $Image, 1) For $i = 1 To $Array[0] $iI = _GUICtrlListView_AddItem($ListView1, $Array[$i], $i -1) If IniRead($FileIni, $Array[$i], "Checked", "") = "1" Then _GUICtrlListView_SetItemChecked($ListView1, $iI, True) Next EndFunc ;==>__ProcessList_AllAdd Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam) #forceref $hWnd, $iMsg, $iwParam Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo $hWndListView = $ListView1 If Not IsHWnd($ListView1) Then $hWndListView = GUICtrlGetHandle($ListView1) $tNMHDR = DllStructCreate($tagNMHDR, $ilParam) $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom")) $iIDFrom = DllStructGetData($tNMHDR, "IDFrom") $iCode = DllStructGetData($tNMHDR, "Code") Switch $hWndFrom Case $hWndListView Switch $iCode Case $NM_CLICK Local $ItemText = _GUICtrlListView_GetItemText($ListView1, Number(_GUICtrlListView_GetSelectedIndices($ListView1))) If _GUICtrlListView_GetItemChecked($ListView1, Number(_GUICtrlListView_GetSelectedIndices($ListView1))) Then _GUICtrlListView_SetItemChecked($ListView1, Number(_GUICtrlListView_GetSelectedIndices($ListView1)), False) IniWrite($FileIni, $ItemText, "Checked", "0") Else _GUICtrlListView_SetItemChecked($ListView1, Number(_GUICtrlListView_GetSelectedIndices($ListView1)), True) IniWrite($FileIni, $ItemText, "Checked", "1") EndIf EndSwitch EndSwitch Return $GUI_RUNDEFMSG EndFunc ;==>WM_NOTIFY Func AutoClose() Local $Count = Number(_GUICtrlListView_GetItemCount($ListView1)) If $Count = "" Then Return SetError(1) For $i = 0 To $Count If _GUICtrlListView_GetItemChecked($ListView1, Number($i)) Then If ProcessExists(_GUICtrlListView_GetItemText($ListView1, $i)) Then ProcessClose(_GUICtrlListView_GetItemText($ListView1, $i)) EndIf Next EndFunc ;==>AutoClose Func uyar() Local $Count = Number(_GUICtrlListView_GetItemCount($ListView1)) ;SILEBILIRSIN If $Count = "" Then Return SetError(1) For $i = 0 To $Count If _GUICtrlListView_GetItemChecked($ListView1, Number($i)) Then If ProcessExists(_GUICtrlListView_GetItemText($ListView1, $i)) Then TrayTip("By Kamuran", "Bazı Programları" & @CRLF & "Kullanma Yetkiniz yok", 0, 2) EndIf Next EndFunc ;==>uyar Func hakkinda() MsgBox(0, "By Kamuran", "Atanan işlemeler gerçekleşince 1 saniyede otomatik kapatılır", 5) EndFunc ;==>hakkinda Func To_Tray() ;If TrayItemGetText($hTray_Show) = "Göster Aktif Olsun (CTRL+SPACE)" Then If GUISetState(@SW_HIDE, $Form1) Then ;=== Şifre İsteme Ekranı $Sifre = RegRead("HKEY_CURRENT_USER\Software\Kamuran Program Kısıtlama", "Şifre") ;Regden oku If $Sifre = "" Then ;Regedit Şifr3 kısmında veri yok ise; Şifre isteme kısmını atla ve Programı Aç Else ; Değilse (Kullanıcı tarafından Şifre verilmiş ise ) Local $Inputbox ;Şifre sorma diyalogunu çalıştır $Inputbox = InputBox("By Kamuran", " Programı göstermek için: Şifreyi Giriniz." & @CRLF & " Gizlemek için; Kapatın yada Enter e Basın", "", "*", 256, 136) If $Sifre = $Inputbox Then ;Doğru şifre girilirse GUISetState(@SW_SHOW, $Form1) Else ; MsgBox(0, "By Kamuran", "Malesef Yanlış Şifre. Program Gizlenecek ...!!!!") TrayTip("By Kamuran", "Yanlış Şifre" & @CRLF & "Program Gizlendi.!!!", 0, 2) GUISetState(@SW_HIDE, $Form1) ; Exit ; Programı kapat EndIf EndIf Else EndIf EndFunc ;==>To_Tray
-
_WinKill("adsız") Func _WinKill($Title) Local $WinList = WinList(), $T, $TT If @error Or Not IsArray($WinList) Then Return SetError(@error) For $i = 1 To $WinList[0][0] If $WinList[$i][0] <> "" And IsVisible($WinList[$i][1]) Then If StringInStr($WinList[$i][0], $Title) Then WinKill($WinList[$i][0]) EndIf Next EndFunc Func IsVisible($handle) If BitAND(WinGetState($handle), 2) Then Return 1 Else Return 0 EndIf EndFunc ;==>IsVisible
-
Buna pek gerek yoktur ama ille de yapmak istiyorsan, AutoIt'in help dosyasındaki şu örneği inceleyebilirsin. (Zaten her konuda AutoIt'in yardım klasörü sana yardımcı olacaktır. Sadece biraz merak etmen lazım.) AutoIt çok basit bir dil. #include <GUIConstantsEx.au3> #include <WinAPI.au3> #include <GuiListView.au3> #include <GuiImageList.au3> #include <WindowsConstants.au3> _Main() Func _Main() Local $listview, $hImage Local $exStyles = BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_SUBITEMIMAGES) GUICreate("ImageList Create", 400, 300) $listview = GUICtrlCreateListView("", 2, 2, 394, 268, BitOR($LVS_SHOWSELALWAYS, $LVS_NOSORTHEADER, $LVS_REPORT)) _GUICtrlListView_SetExtendedListViewStyle($listview, $exStyles) GUISetState() ; Load images $hImage = _GUIImageList_Create(11, 11) _GUIImageList_Add($hImage, _WinAPI_CreateSolidBitmap(GUICtrlGetHandle($listview), 0xFF0000, 11, 11)) _GUIImageList_Add($hImage, _WinAPI_CreateSolidBitmap(GUICtrlGetHandle($listview), 0x00FF00, 11, 11)) _GUIImageList_Add($hImage, _WinAPI_CreateSolidBitmap(GUICtrlGetHandle($listview), 0x0000FF, 11, 11)) _GUICtrlListView_SetImageList($listview, $hImage, 1) ; Add columns _GUICtrlListView_AddColumn($listview, "Items", 120) ; Add items _GUICtrlListView_AddItem($listview, "Item 1", 0) _GUICtrlListView_AddItem($listview, "Item 2", 1) _GUICtrlListView_AddItem($listview, "Item 3", 2) ; Loop until user exits Do Until GUIGetMsg() = $GUI_EVENT_CLOSE GUIDelete() EndFunc ;==>_Main
-
Bilgisayar alırken markasının HP olmamasına dikkat edin.
- Show previous comments 9 more
-
ya kıçı kırık bir mürekkepli yazıcı kuruyosun, dakkalarca sürüyor, yani ne kuruyhor olabilir ki? Samsung lazer kuruyorum 2 dk dan fazla sürmüyor.
-
Bilgisayarında kurulu olan programları listeleyerek değil de kendi seçtiğin programlara engel koyman daha doğru olur. Senin için basit bir örnek hazırladım. "++" Butonu ile listeye yeni bir program ekleyebilirsin. "--" Butonu ile işaretlemiş olduğun programları listeden silersin. İşaretlemiş olduğun programlar otomatik kontrol edilir. Çalışıyorsa sonlandırılır. #include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <ListViewConstants.au3> #include <WindowsConstants.au3> #include <GuiListView.au3> #include <Process.au3> #region ### START Koda GUI section ### Form= $Form1 = GUICreate("ProcessDisable", 268, 200, -1, -1, -1) GUISetBkColor(0xFFFFFF) $Button1 = GUICtrlCreateButton("++", 8, 168, 35, 25) $ListView1 = GUICtrlGetHandle(GUICtrlCreateListView("Name", 8, 8, 250, 150)) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 200) _GUICtrlListView_SetExtendedListViewStyle($ListView1, $LVS_EX_CHECKBOXES) $Button2 = GUICtrlCreateButton("--", 48, 168, 35, 25) $Edit1 = GUICtrlCreateEdit("", 10, 200, 249, 209, BitOR($ES_AUTOVSCROLL, $ES_WANTRETURN), 0) $Button3 = GUICtrlCreateButton("Kapat", 184, 168, 75, 25) GUISetState(@SW_SHOW) GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY") #endregion ### END Koda GUI section ### Global $FileIni = @DesktopDir & "\ProcessDisable.ini" __ProcessList_AllAdd() AdlibRegister("AutoClose", 1000) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 __ProcessList_Add() Case $Button2 __ProcessList_SelectDell() Case $Button3 Exit EndSwitch WEnd Func __ProcessList_SelectDell() Local $Count = Number(_GUICtrlListView_GetItemCount($ListView1)) If $Count = "" Then Return SetError(1) For $i = 0 To $Count If _GUICtrlListView_GetItemChecked($ListView1, $i) Then IniDelete($FileIni, _GUICtrlListView_GetItemText($ListView1, $i)) EndIf Next __ProcessList_AllAdd() EndFunc ;==>__ProcessList_SelectDell Func __ProcessList_Add() Local $F_Name, $F_OpenDialog = FileOpenDialog("", @DesktopDir, "(*.exe)", 1, "", $Form1) If @error Or $F_OpenDialog = "" Then Return SetError(@error) $F_Name = StringTrimLeft($F_OpenDialog, StringInStr($F_OpenDialog, "\", 0, -1)) If IniRead($FileIni, $F_Name, "FileFulPath", "") <> "" Then If MsgBox(64 + 4, "", "Lan böyle bir program zaten ekli! Yine de değiştirmek ister misin?") = 6 Then IniWrite($FileIni, $F_Name, "FileFulPath", $F_OpenDialog) _GUICtrlListView_AddItem($ListView1, $F_Name) EndIf Else IniWrite($FileIni, $F_Name, "FileFulPath", $F_OpenDialog) _GUICtrlListView_AddItem($ListView1, $F_Name) EndIf EndFunc ;==>__ProcessList_Add Func __ProcessList_AllAdd() _GUICtrlListView_DeleteAllItems($ListView1) Local $Array = IniReadSectionNames($FileIni), $iI If Not IsArray($Array) Then Return SetError(@error) For $i = 1 To $Array[0] $iI = _GUICtrlListView_AddItem($ListView1, $Array[$i]) If IniRead($FileIni, $Array[$i], "Checked", "") = "1" Then _GUICtrlListView_SetItemChecked($ListView1, $iI, True) Next EndFunc Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam) #forceref $hWnd, $iMsg, $iwParam Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo $hWndListView = $ListView1 If Not IsHWnd($ListView1) Then $hWndListView = GUICtrlGetHandle($ListView1) $tNMHDR = DllStructCreate($tagNMHDR, $ilParam) $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom")) $iIDFrom = DllStructGetData($tNMHDR, "IDFrom") $iCode = DllStructGetData($tNMHDR, "Code") Switch $hWndFrom Case $hWndListView Switch $iCode Case $NM_CLICK Local $ItemText = _GUICtrlListView_GetItemText($ListView1, Number(_GUICtrlListView_GetSelectedIndices($ListView1))) If _GUICtrlListView_GetItemChecked($ListView1, Number(_GUICtrlListView_GetSelectedIndices($ListView1))) Then _GUICtrlListView_SetItemChecked($ListView1, Number(_GUICtrlListView_GetSelectedIndices($ListView1)), False) IniWrite($FileIni, $ItemText, "Checked", "0") Else _GUICtrlListView_SetItemChecked($ListView1, Number(_GUICtrlListView_GetSelectedIndices($ListView1)), True) IniWrite($FileIni, $ItemText, "Checked", "1") EndIf EndSwitch EndSwitch Return $GUI_RUNDEFMSG EndFunc ;==>WM_NOTIFY Func AutoClose() Local $Count = Number(_GUICtrlListView_GetItemCount($ListView1)) If $Count = "" Then Return SetError(1) For $i = 0 To $Count If _GUICtrlListView_GetItemChecked($ListView1, Number($i)) Then If ProcessExists(_GUICtrlListView_GetItemText($ListView1, $i)) Then ProcessClose(_GUICtrlListView_GetItemText($ListView1, $i)) EndIf Next EndFunc
-
İşlemin çalışma önceliğini göstermek için _ProcessGetPriority() komutunu kullandım. Bahsini ettiğin şeylerin hepsi basit bir şekilde yapılabilir, ancak benim buna zamanım yok. Sen bir şeyler yap, takıldığın yerleri sor, ben yardım ederim.
-
#include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <ListViewConstants.au3> #include <WindowsConstants.au3> #include <GuiListView.au3> #include <Process.au3> #region ### START Koda GUI section ### Form= $exStyles = BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_CHECKBOXES, $LVS_EX_SUBITEMIMAGES) $Form1 = GUICreate("ProcessesList", 618, 416, 192, 124) $ListView1 = GUICtrlGetHandle(GUICtrlCreateListView("Name|PID|Priority", 8, 8, 601, 369)) _GUICtrlListView_SetExtendedListViewStyle($ListView1, $exStyles) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 350) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 80) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 130) $Button1 = GUICtrlCreateButton("Sonlandır...", 8, 384, 75, 25) __ListView_Uptade() GUISetState(@SW_SHOW) #endregion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 __Close() EndSwitch WEnd Func __Close() Local $Count = Number(_GUICtrlListView_GetItemCount($ListView1)) If $Count = "" Then Return SetError(1) For $i = 1 To $Count If _GUICtrlListView_GetItemChecked($ListView1, $i) Then ProcessClose(_GUICtrlListView_GetItemText($ListView1, $i)) If @error Then MsgBox(64, @error & " - " & "Error", _GUICtrlListView_GetItemText($ListView1, $i) & @CRLF & "Bu işlem sonlandırılamıyor maalesef.") EndIf Next Return __ListView_Uptade() EndFunc Func __ListView_Uptade() Local $ProcessList = ProcessList(), $iI, $Priority If @error Or Not IsArray($ProcessList) Then Return SetError(@error) _GUICtrlListView_DeleteAllItems($ListView1) _GUICtrlListView_BeginUpdate($ListView1) For $i = 2 To $ProcessList[0][0] Switch _ProcessGetPriority($ProcessList[$i][1]) Case 0 $Priority = "Low" Case 1 $Priority = "BelowNormal" Case 2 $Priority = "Normal" Case 3 $Priority = "AboveNormal" Case 4 $Priority = "High" Case 5 $Priority = "RealTime" Case Else $Priority = -1 EndSwitch $iI = _GUICtrlListView_AddItem($ListView1, $ProcessList[$i][0]) _GUICtrlListView_AddSubItem($ListView1, $iI, $ProcessList[$i][1], 1) _GUICtrlListView_AddSubItem($ListView1, $iI, $Priority, 2) Next _GUICtrlListView_EndUpdate($ListView1) EndFunc ;==>__ListView_Uptade