-
Posts
377 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Posts posted by asmazh
-
-
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
-
Dosyalar sistem kullanıcısı sahipliğinde olduğundan direk erişiminiz engelleniyor.
TAKEOWN /F C:\* komutu ile tüm dosyaların sahipliğini alabilirsiniz fakat kesinlikle önermem!
Bu güvenlik önlemi, birçok virüsün sisteminizi ele geçirmesini engelliyor.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.
-
Çö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
-
aslında yapmak istediğim şey kullanıcının bazı programları kullanabilmesini engellemektir.
Bunun için bir script düzenledim birkaç program ismi ekledim güzel çalışıyor ama beni tatmin etmiyor
Bilgisayara kurulu olan bütün programları listeletmek istiyorum.
#2 mesajda ki kodları çalışan işlemleri değil kurulu olan programları listeleyecek şekilde düzenlerseniz
şu an kafi gelebilir.
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
-
Güncel bir NORTON. Başka bir şey değil.
-
HotKeySey demişim, Allahım ya... HotKeySet kardeşim, kusuruma bakma.
-
Salise yapabilmen için AdlibRegister komutunun "time" parametresine inputtan gelen verinin 100 ile çarpımını gönder. Klavyeden kontrol için ise HotKeySey komutunu incele.
-
#include <ButtonConstants.au3> #include <ComboConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <Misc.au3> #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("AutoTick", 378, 146, -1, -1) $Button1 = GUICtrlCreateButton("Koordinat belirle", 8, 8, 107, 21) $Input1 = GUICtrlCreateInput("", 9, 40, 106, 21) $Input2 = GUICtrlCreateInput("", 128, 24, 41, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_NUMBER)) $Graphic1 = GUICtrlCreateGraphic(8, 72, 361, 1) GUICtrlSetColor(-1, 0x004000) $Label1 = GUICtrlCreateLabel("saniyede bir", 176, 28, 60, 17) $Combo1 = GUICtrlCreateCombo("", 248, 24, 73, 25, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL)) GUICtrlSetData(-1, "1) Sol (Tek)|2) Sol (Çift)|3) Sağ") $Label2 = GUICtrlCreateLabel("tıkla.", 336, 28, 26, 17) $Button2 = GUICtrlCreateButton("Başla", 8, 80, 75, 25) $Button3 = GUICtrlCreateButton("Dur", 88, 80, 75, 25) $Label3 = GUICtrlCreateLabel("Basit bir örnektir. Çeşitlendirilebilir. AsmazH", 8, 120, 203, 17) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### Global $Coor, $TickStyle While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 GUICtrlSetState($Button1, $GUI_DISABLE) _CoorToMake() GUICtrlSetData($Input1, $Coor[0] & ";" & $Coor[1]) GUICtrlSetState($Button1, $GUI_ENABLE) If Not WinActive($Form1, "") Then WinActivate($Form1, "") Case $Button2 If Not IsArray($Coor) Or _ GUICtrlRead($Input2) = "" Or _ GUICtrlRead($Combo1) = "" Then MsgBox(0, "", "kardeş önce gerekli ayarları gir. yok öyle 3 kuruşa 5 köfte. (ne alakaysa :))", $Form1) Else $TickStyle = Number(StringLeft(GUICtrlRead($Combo1), 1)) AdlibRegister("_StartTick", Number(GUICtrlRead($Input2)) * 1000) EndIf case $Button3 AdlibUnRegister("_StartTick") EndSwitch WEnd Func _CoorToMake() While _IsPressed("01") <> 1 Sleep(5) ToolTip("Belirtmek istediğiniz koordinatın üstüne gidin" & @CRLF & "ve fare ile sol tıklayın.") WEnd ToolTip("") $Coor = MouseGetPos() EndFunc Func _StartTick() If $TickStyle = 1 Then MouseClick("left", $Coor[0], $Coor[1], 1, 0) ElseIf $TickStyle = 2 Then MouseClick("left", $Coor[0], $Coor[1], 2, 0) Else MouseClick("right", $Coor[0], $Coor[1], 1, 0) EndIf EndFunc
Aha da böyle bir şey karaladım. İstediğin gibi bir şey yapman dileğiyle.
-
Ne yapmak istediğini tam olarak anlamadım. Biraz daha açımla ki sana yardım edebileyim.
-
Kaynak kodlarında ilk sorununu göremedim. (Kırmızı)
İkinci sorununu ise GUICtrlSetBkColor ile halledebilirsin. (Yeşil)
-
Veriyor kardeşim vermez olur mu :)
-
Paylaşmak istediğiniz dosyayı seçin.
-
Alt bölmedeki seçim düğmesini Genel konumuna getirin. Bu düğme, Paylaş düğmesini tıklattığınızda kullanımınıza sunulur.
-
Dosya bağlantısı alanında görünen bağlantıyı kopyalayın.
Demek istediğim bu değil. Direkt link, yani tarayıcının arama kısmına yapıştırıp "enter"lediğimde direk indirme işlemi başlayacak. İndirme butonuna falan basmayacağım. Yani sunucudaki dosyanın uzantısını direk versin istiyorum :)
Yine de teşekkür ederim.
-
-
Çok güzel bir hizmet de ben oraya yüklediğim dosyaların direkt linkini alamadım bir türlü :) Eğer direkt link de verse süper ötesi bir şey.
-
bkz: Recuva.
-
:) Kopyala yapıştırlık bir şey değil ki. DLL'yi import edip fonksiyonları çağıracaksın.
-
Yapabilirsin. bkz: AutoItX.dll
-
İntel Core i7-3630QM CPU 2.40GHz
16 GB RAM
Windows 8 64 bit
Falan filan...
-
Sanal makinalar aracılığıyla kullanabilirsin. Mesela bende tam 3 tane işletim sistemi var.
bkz. VMware Workstation
-
Anlamlı olsun, kulağa hoş gelsin hiç fark etmez.
Guiyi Araç Çubuğundan Gizlemek Nasıl?
in AutoIT
Posted
$WS_EX_TOOLWINDOW Bu sabit değişken ile yapılıyor.