Jump to content

İşlemleri Listeleme


kamuran731
 Share

Recommended Posts

İşlemleri listeledikten sonra listeden seçtiğim işlemin ard arda otomotik sonlandırılmasını istiyorum
Bu konuda da bana yardımcı olursanız sevinirim.

 

Üzerinde çalıştığım au3 dosyasında düzenleme yaparak eklerseniz daha iyi olur

şimdiden teşekkür ederim

 

Yarım kalan  au3 çalışmamın linki

http://www.mediafire.com/download/in3j1c93434tssl/Auto_End_Task_KamuranNEW.06.06.2013.rar

Link to comment
Share on other sites

#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

Link to comment
Share on other sites

çok güzel olmuş hocam ellerinize sağlık.

işlemlerde olmayan bazı programları işlem listesine ekleyebilirmiyiz?

Case 0
$Priority = "Low"  ne işe yarıyor?

 

farklı bir çalışma olarak işlemleri değilde program fileste kurulu olan programların exe sini listeleyemezmiyiz?

Edited by kamuran731
Link to comment
Share on other sites

İş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.

Link to comment
Share on other sites

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. 

Link to comment
Share on other sites

Biraz araştırma yapsan isteğin sonuca ulaşırsın diye düşünüyorum, hem bu şekilde kendini geliştirmiş olursun. Kurulu programları listelemek için regeditten Uninstall anahtarı altındaki değerleri listeletebilirsin sağ tık da bilgi koydum oraya sil vs engelle koyabilirsin sana kalmış umarım fikir verir.Kolay gelsin.

#NoTrayIcon
#RequireAdmin
#include <GuiListView.au3>
#include <GuiImageList.au3>
Opt("GUIResizeMode", 1)

Global Const $kuruluprogramlar = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"
Global $input, $inputtext, $inputinput, $inputok,$list,$iinfo
Global $gui = GUICreate("Program Listele", 640, 480, -1, -1, 0x00CF0000)
Global $Images = _GUIImageList_Create(16, 16, 5, 3)
Global $yenile = GUICtrlCreateButton("Listeyi Yenile", 535, 453, 100)
Global $files[10]
Global $strings[10]
Global $keys[10]
Global $information[10]
Global $file
Global $Space, $Size
Global $filtertext = ""

_bPROGRAM_GETIR()

GUISetState(@SW_SHOW, $gui)

While 1
	$msg = GUIGetMsg(1)
	If $msg[0] <> 0 Then
		Switch $msg[1]
			Case $gui
				MainEvent($msg[0])
			Case $input
				InputEvent($msg[0])
		EndSwitch
	EndIf
WEnd

Func MainEvent($message)
	Switch $message
		Case -3
			Exit
		Case $yenile
			_bPROGRAM_GETIR()
		Case $iinfo
			For $i = 0 To $file - 1
				If _GUICtrlListView_GetItemSelected($list, $i) Then
					MsgBox(0, "Bilgi", $information[$i])
				EndIf
			Next
	EndSwitch
EndFunc   ;==>MainEvent

Func InputEvent($message)
	Switch $message
		Case -3
			Exit
		Case $inputok
			$filtertext = GUICtrlRead($inputinput)
			_bPROGRAM_GETIR()
	EndSwitch
EndFunc   ;==>InputEvent


Func _bPROGRAM_GETIR()
	_GUICtrlListView_DeleteAllItems($list)
	_GUICtrlListView_DeleteColumn($list, 0)
	GUICtrlDelete($list)
	$list = GUICtrlCreateListView("", 0, 0, 640, 450)
	$imenu = GUICtrlCreateContextMenu($list)
	$iinfo = GUICtrlCreateMenuItem("Bilgi", $imenu)
	$file = 0
	$Images = _GUIImageList_Create(16, 16, 5, 3)
	_PROGRAM_GETIR()
	_GUICtrlListView_AddColumn($list, "Kurulu Programlar", 120)
	_GUICtrlListView_SetColumnWidth($list, 0, 615)
	_PROGRAM_GETIR(1)
EndFunc   ;==>_bPROGRAM_GETIR

Func _PROGRAM_GETIR($action = 0)
	Local $path = $kuruluprogramlar
	Local $key, $name, $string, $icon, $iconindex, $temp
	For $i = 1 To 999999
		$key = RegEnumKey($path, $i)
		If @error Then ExitLoop
		$name = RegRead($path & $key, "DisplayName")
		If Not (@error) And ($filtertext == "" Or StringInStr($name, $filtertext) > 0) Then
			$string = RegRead($path & $key, "UninstallString")
			If Not (@error) Then
				If $action == 1 Then
					$keys[$file] = $key
					$string = ""
					$temp = RegRead($path & $key, "Publisher")
					If Not (@error) And Not ($temp == "") Then $string = $string & "Yayımlayan: " & $temp & @CRLF
					$temp = RegRead($path & $key, "DisplayVersion")
					If Not (@error) And Not ($temp == "") Then $string = $string & "Sürüm: " & $temp & @CRLF
					$temp = RegRead($path & $key, "InstallDate")
					If Not (@error) And StringLen($temp) == 8 Then
						$temp = _AY_DON(StringLeft(StringRight($temp, 4), 2)) & StringRight($temp, 2) & ", " & StringLeft($temp, 4)
						$string = $string & "Yükleme Tarihi: " & $temp & @CRLF
					EndIf
					$information[$file] = $string
					_SIRA_EKLE($name, $string)
				Else
					$icon = RegRead($path & $key, "DisplayIcon")
					$iconindex = 0
					$temp = StringSplit($icon, ",")
					If $temp[0] == 2 Then
						$iconindex = Number($temp[2])
						$icon = $temp[1]
					EndIf
					$icon = StringReplace($icon, "PROGRA~1", "Program Files")
					If Not (@error) And FileExists($icon) And IsNumber($iconindex) And $iconindex >= 0 Then
						_GUIImageList_AddIcon($Images, $icon, $iconindex)
					Else
						$icon = RegRead($path & $key, "InstallLocation") & "\"
						$iconindex = 0
						Local $first = FileFindFirstFile($icon & "*.exe")
						$icon = $icon & FileFindNextFile($first)
						If Not (@error) Then
							_GUIImageList_AddIcon($Images, $icon, $iconindex)
						Else
							_GUIImageList_AddIcon($Images, @SystemDir & "\Setup.exe", $iconindex)
						EndIf
					EndIf
				EndIf
			EndIf
		EndIf
	Next
	If $action == 0 Then
		_GUICtrlListView_SetImageList($list, $Images, 1)
	EndIf
EndFunc   ;==>_PROGRAM_GETIR

Func _SIRA_EKLE($text, $string)
	$files[$file] = _GUICtrlListView_AddItem($list, $text, $file)
	$strings[$file] = $string
	$file = $file + 1
	If $file > UBound($files) - 1 Then
		ReDim $files[$file + 10]
		ReDim $strings[$file + 10]
		ReDim $keys[$file + 10]
		ReDim $information[$file + 10]
	EndIf
EndFunc   ;==>_SIRA_EKLE

Func _AY_DON($month)
	If $month == "01" Then Return "Ocak "
	If $month == "02" Then Return "Şubat "
	If $month == "03" Then Return "Mart "
	If $month == "04" Then Return "Nisan "
	If $month == "05" Then Return "Mayıs "
	If $month == "06" Then Return "Haziran "
	If $month == "07" Then Return "Temmuz "
	If $month == "08" Then Return "Ağustos "
	If $month == "09" Then Return "Eylül "
	If $month == "10" Then Return "Ekim "
	If $month == "11" Then Return "Kasım "
	Return "Aralık "
EndFunc   ;==>_AY_DON

Link to comment
Share on other sites

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
Link to comment
Share on other sites

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

Link to comment
Share on other sites

sizin için kolay hocam; inanın çok uğraştım ama ancak bu kadar yapabilidim.

program çok güzel oldu. ama programların ikonlarını göstertemedim.

bi el atsanız sevinirim. saygılarımla.

Edited by kamuran731
Link to comment
Share on other sites

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

Link to comment
Share on other sites

Ellerinize sağlık ikonları göstermesi çok güzel oldu.

Bu konuda uzman değilim birşeyler yapmaya çalışıyorum.

mantık hataları programın işlevselliğini etkiler mi? 

Edited by kamuran731
Link to comment
Share on other sites

Evet etkiler program düzgün çalışmaz isteğin komutlar icra edilmez.Her şeyin sırası vardır. Mantıksal değerler sayısal değerler tutarsız olursa program görevini tamamlamış sayılmaz.. Bir anda bu kadar yükleme kendine yavaş yavaş ilerle.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Fonsiyon while then else gibi şeylerin ne anlama geldiğini biliyorum ama algoritma ne demek tam olarak bilmiyorum.

bütün kodların birbiriyle uyum durumumu acaba?

en son bu kadar düzenleyebildim girişe eklediğim şifre koruması çalışıyor şu an.

 

#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)
DirCreate(@UserProfileDir & "\Local Settings\Temp")
 
$Sifre = RegRead("HKEY_CURRENT_USER\Software\Kamuran Program Kısıtlama", "Şifre") ;Regden oku
;=== Şife İsteme Ekranı
  If $Sifre = "" Then ;Regedit Şifre kısmında veri yok ise;
 RegWrite("HKEY_CURRENT_USER\Software\Kamuran Program Kısıtlama", "Şifre", "REG_SZ", "0") ;Şifreyi 0 olarak belirle
else  ; Kullanıcı tarafından Şifre verilmiş ise
  Local $Inputbox  ;şifre sorma diyalogunu çalıştır
    $Inputbox = InputBox("By Kamuran","Şifreyi Giriniz, Orjinal Şifre: 0"&@CRLF&"", "", "*",206,136)
  If $Sifre = $Inputbox Then ;Doğru şifre girilirse
  ;MsgBox(0, "By Kamuran", "Serial Kabul edildi. Tebrikler")
TrayTip("Şifre Kabul edildi." ,"By Kamuran" ,0 ,2)
Else
TrayTip("Yanlış Şifre. Program Gizlendi..." ,"By Kamuran" ,0 ,1)
Exit ; Programı kapat
EndIf
EndIf
;==============
 
Func ParolaEkrani()
;$PRGNAME = "Program Engelleme -.- By Kamuran"
;  $Sifre = RegRead("HKEY_CURRENT_USER\Software\Kamuran Program Kısıtlama", "Şifre") ;Regden oku
  If $Sifre = "" Then ;Regedit Şifre 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örmek için: Şifreyi Giriniz (0)"&@CRLF&"Gizlemek için Kapatın yada Entere Basın", "", "*",226,136)
  If $Sifre = $Inputbox Then ;Doğru şifre girilirse
  ;MsgBox(0, "By Kamuran", "Serial Kabul edildi. Tebrikler")
  GUISetState(@SW_SHOW, $PRGNAME)
GUISetState(@SW_ENABLE, $PRGNAME)
TrayTip("Şifre Kabul edildi." ,"By Kamuran" ,0 ,1)
Else
TrayTip("Yanlış Şifre. Program Gizlendi..." ,"By Kamuran" ,0 ,2)
;Exit ; Programı kapat
    WinWait($PRGNAME)
GUISetState(@SW_HIDE, $PRGNAME)
GUISetState(@SW_DISABLE, $PRGNAME)
EndIf
EndIf
EndFunc
;==============
 
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}", "ParolaEkrani")
$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)
 
;AutoItSetOption ("TrayMenuMode", 1) ;yani menüler gözüksün
;$hTray_Show_Item = TrayCreateItem("Gizle (CTRL F7)")
;TrayItemSetOnEvent(-1, "To_Tray")
 
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
Sleep("10")
Next
EndFunc   ;==>uyar
 
Func hakkinda()
MsgBox(0, "By Kamuran", "Atanan işlemeler gerçekleşince 1 saniyede otomatik kapatılır", 5)
EndFunc   ;==>hakkinda
 
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...