crazy_pretty_murat Posted April 9, 2014 Share Posted April 9, 2014 Bide biz excelde fatura kesiyoruz.Birim fiyatları v.s. gibi şeyleri otomatik yaptırdım ama faturanın rakamını bide yazıyla yazmam lazım.Mesela "YALNIZ OTUZ TÜRK LİRASIDIR." demem lazım.Bunun içinde bana faturanın en sağ alttaki genel toplamını algılayacak bir kod lazım.Fatura tutarı 50 tl çıkmışsa "YALNIZ OTUZ TÜRK LİRASIDIR." yazısındaki otuzu elli yazacak mesela.Ama o kısmı hallederim gerçide bana sağ alttaki fatura tutarı 50,00 tl ise şunu şunu yap kodu lazım ama fatura tutarını nasıl algılayacak acaba ? Quote Link to comment Share on other sites More sharing options...
Administrator sk8er_boi Posted April 9, 2014 Author Administrator Share Posted April 9, 2014 Excel için burada nasıl yazıldığı mevcut. Anlaması oldukça kolay. Autoit koduna çevirebilirsin. http://www.kazimyaver.com/post/Excelde-Rakami-Yaziya-Cevirme 1 Quote Link to comment Share on other sites More sharing options...
blue7wolf Posted April 11, 2014 Share Posted April 11, 2014 Oyun ekranına farklı bir nesne gelip gelmediğini anlamak için pixel taraması yaptırmaya çalışıyorum. 1)duruyorsam belirttiğim pixel değişmemiştir 2)Hareket ediyorsam belirttiğim pixel yakında biryerde olmalı mantığı ile #include <MsgBoxConstants.au3> Global $OP = WinGetHandle("OYUN-PENCERESİ") Global $OPSize = WinGetClientSize($OP) Global $ccx, $ccy, $PS, $PG, $BAK vs.. $PG = PixelGetColor($ccx,$ccy,$OP) Sleep(5) $PS = PixelSearch(($ccx-25),($ccy-25),($ccx+25),($ccy+25),$PG,5,$OP) If @error Then MsgBox(0,"",$ccx&"-"&$ccy&"--"&("0x"&Hex($PG,6))) ;==> Burası Call("BAKIN") EndIf Fakat dururken bile $PG ile aldığım rengi $PS ile bulamıyor ve msgbox geliyor sebebi ne olabilir ? 1 Quote Link to comment Share on other sites More sharing options...
F_s_M Posted May 8, 2014 Share Posted May 8, 2014 Merhaba syspreple kapatılmış wim ile sıkıştırılmış windows 7 imajlarını uzun süredir kullanıyorum.Programları ayarları herşey dahil olduğu için zamandan büyük tasarruf sağlıyor.Disk bölümlerini elle hazırlamayı tercih ediyorum.Şİmdiye kadar imagex'i birkaç sürücü harfi için ayrı ayrı hzırlanmış cmd dosyaları ile kullanıyordum 32 ve 64 bit için en az 8 tane cmd aynı dizinde oluyor.Yakın zamanda imajları güncel sürümlere çevireceğim,windows 8'i eklemek istiyorum.Wim imajları tek partition'a göre kurulmuş sistemlerden oluşuyor dolayısıyla sadece mbr disklerde kullanıyorum.gpt için macrium ile aldığım bütün diski içeren imajları kullanıyorum.Şimdiye kadar hiç sorun yaşamadım. Konuya gelirsek yapmak istedğim şey pratikte çok basit :) Fakat iş kodlamaya gelince 2 gündür ancak bu kadarını başarabildim.Yapılmak istenen seçili olan versiyon ve sürücüyü komut satırı parametresi olarak atayıp imagex.exe programını çalıştırmak,gizli kapaklı olmasına bile gerek yok,komut penceresi açılsın yeterli. En azından tek birinde başarılı olursam devamını getireceğimi sanıyorum.Yardımcı olacak arkadaşlara şimdiden teşekkürler. :) #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <GUIListBox.au3> #include <WindowsConstants.au3> #Region ### START Koda GUI section ### Form=c:\a\Form3.kxf $Form3 = GUICreate("Windows WIM Kurulum Menüsü", 445, 203, 465, 263) $List1 = GUICtrlCreateList("", 32, 40, 225, 84) $Button1 = GUICtrlCreateButton("Kuruluma Başla", 8, 160, 417, 25) $List2 = GUICtrlCreateList("", 328, 40, 73, 84) $Group1 = GUICtrlCreateGroup("İşletim Sistemleri Menüsü", 16, 16, 257, 129) GUICtrlCreateGroup("", -99, -99, 1, 1) $Group2 = GUICtrlCreateGroup("Kurulacak Sürücü", 296, 16, 129, 129) GUICtrlCreateGroup("", -99, -99, 1, 1) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### GuiCtrlSetData($List1, "Windows XP Professional SP3 x86|Windows 7 Ultimate SP1 x86|Windows 7 Ultimate SP1 x64|Windows 8.1 Professional x86|Windows 8.1 Professional x64", "Windows 7 Ultimate SP1 x64") GuiCtrlSetData($List2, "Surucu C:|Surucu D:|Surucu E:|Surucu F:|Surucu G:|Surucu H:", "Surucu C:") Global $GlobalVariable_parametre = "/ref winkur.wimm /apply winkur.wim" While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 Switch GUICtrlCreateList($List1) Case "Windows XP Professional SP3 x86" $sistem = "Windows XP Professional SP3 x86" $GlobalVariable_parametre = "/ref winkur.wimm /apply winkur.wim" EndSwitch ShellExecuteWait(@ScriptDir&"\imagex.exe") ;ShellExecuteWait(@ScriptDir&"imagex.exe", "&$GlobalVariable_parametre&") EndSwitch WEnd 1 Quote Link to comment Share on other sites More sharing options...
MostWanted Posted May 9, 2014 Share Posted May 9, 2014 Bi sistem için bi tane örnek verebilirsen yardımcı olabilirim şöyle ki; Windows Xp ve sürücü c seçildiğinde imagex.exe hangi parametre ile çalışacak?Aynı şekilde sürücü H: seçildiğinde?Bu kombinasyonların arasında bi bağlantı olmalı :) Quote Link to comment Share on other sites More sharing options...
F_s_M Posted May 9, 2014 Share Posted May 9, 2014 Windows xp için örnek komut şu şekilde olacak imagex /apply winkur.wim 5 c: bu sabit komut olacak = "imagex.exe /apply winkur.wim" liste kutularında seçili olanlar bu komutun sonuna eklenecek bu "$List1"'e karşılık gelen sistemleri belirleyecek.Mesela "Windows XP Professional SP3 x86" için 5,"Windows 7 Ultimate SP1 x86" için 1 gibi.Ama kesinlikle birinci 5 ikinci 1 gibi sabitimiz yok.Bu numaralar wim dosyasındaki imaj numaraları.Değişebilir veya değişmeye müsaitler. bu "$List2"'de yer alan "Surucu C:" c: sürücüsüne karşılık gelecek.bunlar kesin değerler d sürücüsü için d: gibi. Biliyorum bu değerlere başka bir noktada bu rakamları yada sürücü harflerini tanımlamalıyım ama bilgi eksikliğinden tanımları yapamadım.Seçili olanı oku ve imagex.exe için parametre olarak ata denmeli.Site içerisinde benzer sekilde çalışan bazı kodlar buldum fakat tanımlamalar kısmı karışık geldi :) Quote Link to comment Share on other sites More sharing options...
MostWanted Posted May 9, 2014 Share Posted May 9, 2014 #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <GUIListBox.au3> #include <WindowsConstants.au3> #Region ### START Koda GUI section ### Form=c:\a\Form3.kxf $Form3 = GUICreate("Windows WIM Kurulum Menüsü", 445, 203, 465, 263) $List1 = GUICtrlCreateList("", 32, 40, 225, 84) $Button1 = GUICtrlCreateButton("Kuruluma Başla", 8, 160, 417, 25) $List2 = GUICtrlCreateList("", 328, 40, 73, 84) $Group1 = GUICtrlCreateGroup("İşletim Sistemleri Menüsü", 16, 16, 257, 129) GUICtrlCreateGroup("", -99, -99, 1, 1) $Group2 = GUICtrlCreateGroup("Kurulacak Sürücü", 296, 16, 129, 129) GUICtrlCreateGroup("", -99, -99, 1, 1) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### GuiCtrlSetData($List1, "Windows XP Professional SP3 x86|Windows 7 Ultimate SP1 x86|Windows 7 Ultimate SP1 x64|Windows 8.1 Professional x86|Windows 8.1 Professional x64", "Windows 7 Ultimate SP1 x64") GuiCtrlSetData($List2, "Surucu C:|Surucu D:|Surucu E:|Surucu F:|Surucu G:|Surucu H:", "Surucu C:") Global const $GEN_PARAM = "/ref winkur.wimm /apply winkur.wim " Global $yerel_param; While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 Switch GUICtrlRead($List1) Case "Windows XP Professional SP3 x86" $yerel_param = "5" Case "Windows 7 Ultimate SP1 x86" $yerel_param = "1" ;böyle gider EndSwitch $yerel_param &= StringRight(GUICtrlRead($List2),2); ShellExecuteWait(@ScriptDir&"\imagex.exe", $GEN_PARAM & $yerel_param); EndSwitch WEnd windows xp için her zaman 5 gibi sabit olmuyor diyorsun ama sabitlik yada bir şeye göre değişkenlik olmazsa bu programı yapamazsın.Şimdilik ben böyle bi örnek gösterdim fakat şöyle de yapılabilir; bi ini dosyasına winxpnin değeri bu bilmem neyin değeri bu diye girdilerini koyarsın program ordan okur.Demek istediğim birinci için 5 sabit değilse ya onun elinle gireceksin ya program bi yerden okuyacak ya da sürekli programın kaynak kodunu değiştireceksin ki bu saçma olur :) 1 Quote Link to comment Share on other sites More sharing options...
yusuf1284 Posted May 9, 2014 Share Posted May 9, 2014 (edited) Oyun ekranına farklı bir nesne gelip gelmediğini anlamak için pixel taraması yaptırmaya çalışıyorum. 1)duruyorsam belirttiğim pixel değişmemiştir 2)Hareket ediyorsam belirttiğim pixel yakında biryerde olmalı mantığı ile #include <MsgBoxConstants.au3> Global $OP = WinGetHandle("OYUN-PENCERESİ") Global $OPSize = WinGetClientSize($OP) Global $ccx, $ccy, $PS, $PG, $BAK vs.. $PG = PixelGetColor($ccx,$ccy,$OP) Sleep(5) $PS = PixelSearch(($ccx-25),($ccy-25),($ccx+25),($ccy+25),$PG,5,$OP) If @error Then MsgBox(0,"",$ccx&"-"&$ccy&"--"&("0x"&Hex($PG,6))) ;==> Burası Call("BAKIN") EndIf Fakat dururken bile $PG ile aldığım rengi $PS ile bulamıyor ve msgbox geliyor sebebi ne olabilir ? her oyun için geçerli mi ? birde oyun komple renksiz bir hal alıyor (ölünce) bunu yapar mısnız daha basit olsa gerek Edited May 9, 2014 by yusuf1284 Quote Link to comment Share on other sites More sharing options...
F_s_M Posted May 9, 2014 Share Posted May 9, 2014 (edited) #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <GUIListBox.au3> #include <WindowsConstants.au3> #Region ### START Koda GUI section ### Form=c:\a\Form3.kxf $Form3 = GUICreate("Windows WIM Kurulum Menüsü", 445, 203, 465, 263) $List1 = GUICtrlCreateList("", 32, 40, 225, 84) $Button1 = GUICtrlCreateButton("Kuruluma Başla", 8, 160, 417, 25) $List2 = GUICtrlCreateList("", 328, 40, 73, 84) $Group1 = GUICtrlCreateGroup("İşletim Sistemleri Menüsü", 16, 16, 257, 129) GUICtrlCreateGroup("", -99, -99, 1, 1) $Group2 = GUICtrlCreateGroup("Kurulacak Sürücü", 296, 16, 129, 129) GUICtrlCreateGroup("", -99, -99, 1, 1) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### GuiCtrlSetData($List1, "Windows XP Professional SP3 x86|Windows 7 Ultimate SP1 x86|Windows 7 Ultimate SP1 x64|Windows 8.1 Professional x86|Windows 8.1 Professional x64", "Windows 7 Ultimate SP1 x64") GuiCtrlSetData($List2, "Surucu C:|Surucu D:|Surucu E:|Surucu F:|Surucu G:|Surucu H:", "Surucu C:") Global const $GEN_PARAM = "/ref winkur.wimm /apply winkur.wim " Global $yerel_param; While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 Switch GUICtrlRead($List1) Case "Windows XP Professional SP3 x86" $yerel_param = "5" Case "Windows 7 Ultimate SP1 x86" $yerel_param = "1" ;böyle gider EndSwitch $yerel_param &= StringRight(GUICtrlRead($List2),2); ShellExecuteWait(@ScriptDir&"\imagex.exe", $GEN_PARAM & $yerel_param); EndSwitch WEnd windows xp için her zaman 5 gibi sabit olmuyor diyorsun ama sabitlik yada bir şeye göre değişkenlik olmazsa bu programı yapamazsın.Şimdilik ben böyle bi örnek gösterdim fakat şöyle de yapılabilir; bi ini dosyasına winxpnin değeri bu bilmem neyin değeri bu diye girdilerini koyarsın program ordan okur.Demek istediğim birinci için 5 sabit değilse ya onun elinle gireceksin ya program bi yerden okuyacak ya da sürekli programın kaynak kodunu değiştireceksin ki bu saçma olur :) Ellerinize sağlık.Teşekkür ederim.Dediğiniz gibi sabit olması gerekli.Kastım bu sürekli değişecek demek değil.İlk başta wim dosyasında nasıl sıralanırsa öyle kalacak.Teşekkür ederim. Son ve tam olarak istediğim şekilde çalışan hali :) #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <GUIListBox.au3> #include <WindowsConstants.au3> #Region ### START Koda GUI section ### Form=c:\a\Form3.kxf $Form3 = GUICreate("Windows WIM Kurulum Menüsü", 445, 203, 465, 263) $List1 = GUICtrlCreateList("", 32, 40, 225, 84) $Button1 = GUICtrlCreateButton("Kuruluma Başla", 8, 160, 417, 25) $List2 = GUICtrlCreateList("", 328, 40, 73, 84) $Group1 = GUICtrlCreateGroup("İşletim Sistemleri Menüsü", 16, 16, 257, 129) GUICtrlCreateGroup("", -99, -99, 1, 1) $Group2 = GUICtrlCreateGroup("Kurulacak Sürücü", 296, 16, 129, 129) GUICtrlCreateGroup("", -99, -99, 1, 1) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### GuiCtrlSetData($List1, "Windows XP Professional SP3 x86|Windows 7 Ultimate SP1 x86|Windows 7 Ultimate SP1 x64|Windows 8.1 Professional x86|Windows 8.1 Professional x64", "Windows 7 Ultimate SP1 x64") GuiCtrlSetData($List2, "Surucu C:|Surucu D:|Surucu E:|Surucu F:|Surucu G:|Surucu H:", "Surucu C:") Global const $GEN_PARAM = "/ref winkur.wimm /apply winkur.wim " Global $yerel_param; While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 Switch GUICtrlRead($List1) Case "Windows 7 Ultimate SP1 x86" $yerel_param = "1 " Case "Windows 7 Ultimate SP1 x64" $yerel_param = "2 " Case "Windows 8.1 Professional x86" $yerel_param = "3 " Case "Windows 8.1 Professional x64" $yerel_param = "4 " Case "Windows XP Professional SP3 x86" $yerel_param = "5 " EndSwitch $yerel_param &= StringRight(GUICtrlRead($List2),2); ;ShellExecuteWait(@ScriptDir&"\imagex.exe", $GEN_PARAM & $yerel_param); gönderilen komut,derlerken aktif et MsgBox(0,"Gönderilen Komut", $GEN_PARAM & $yerel_param&" olarak yüklendi.") ;komut testi için,derlenirken devre dışı bırak EndSwitch WEnd Edited May 9, 2014 by F_s_M Quote Link to comment Share on other sites More sharing options...
yNs Posted May 14, 2014 Share Posted May 14, 2014 güvenli donanım çıkartmaya yarayan kullanişli birşey yapılabilir mi ? Quote Link to comment Share on other sites More sharing options...
MostWanted Posted May 15, 2014 Share Posted May 15, 2014 http://www.tnctr.com/topic/95572-guvenli-usb-kaldyrycy-12-03022010-guncellendi/ Sizin için linkleri de güncelledim. Quote Link to comment Share on other sites More sharing options...
yusuf1284 Posted June 1, 2014 Share Posted June 1, 2014 (edited) Local $Pixel_X = 32 Local $Pixel_Y = 558 Local $Pixel_Color = "0xDE2DDE" Local $PGet_Color While 1 $PGet_Color = PixelGetColor($Pixel_X, $Pixel_Y) ;x-y If $PGet_Color = $Pixel_Color Then Shutdown(1) EndIf WEnd arkadaşlar bu kodları yaptım çalşıyor fakat ben belirli bir programın içindeki x,y noktasını almasını istyorum oyun program vb alta aldğım zaman taramaya devam etsin Edited June 3, 2014 by yusuf1284 Quote Link to comment Share on other sites More sharing options...
mkayer Posted September 1, 2014 Share Posted September 1, 2014 Merhaba Ustalar WinWait("pencere ismi") pencere ismi kısmında $değişken kullanabilirmiyim. çözüm bulamadım. Quote Link to comment Share on other sites More sharing options...
blue_life Posted September 2, 2014 Share Posted September 2, 2014 @mkayer Tabiki gönderebilirsin. Yardım dosyasındaki örneğe değişken ekleyerek örnek verelim. Incelersin. Global $Degisken = "[CLASS:Notepad]" ;Değişkenimiz Run("notepad.exe") ;Notepad programını çalıştıralım. WinWait($Degisken) ;Winwait ile notepad ekranının gelmesini bekleyelim ControlSend($Degisken, "", "Edit1", "Günaydın Millet") ;Edit1e yazı gönderelim Quote Link to comment Share on other sites More sharing options...
mkayer Posted September 3, 2014 Share Posted September 3, 2014 (edited) @mkayer Tabiki gönderebilirsin. Yardım dosyasındaki örneğe değişken ekleyerek örnek verelim. Incelersin. Global $Degisken = "[CLASS:Notepad]" ;Değişkenimiz Run("notepad.exe") ;Notepad programını çalıştıralım. WinWait($Degisken) ;Winwait ile notepad ekranının gelmesini bekleyelim ControlSend($Degisken, "", "Edit1", "Günaydın Millet") ;Edit1e yazı göndereli burdaki hatam nedir. #include <MsgBoxConstants.au3> oku() Func oku() msgbox (64,"Uyarı","Bağlanmak istediğiniz Yazıcının Bağlı olduğu Bilgisayarın Ip Adresini giriniz." & @CRLF & "Ip adresi 192.168.1.21 ... gibi rakamlar arasında noktalar ile girilmelidir..") EndFunc ipadresi() Func ipadresi() Dim $YaziciIpAdresi = InputBox("Ip Adresi", "192.168.1.21 gibi." , "" , "" ,"200","150") RunWait(@ComSpec & ' /c start \\' & $YaziciIpAdresi) EndFunc sleep(1000) oku1() Func oku1() msgbox (64,"Varsayılan Yazıcı Seç","Bağlanmak istediğiniz Yazıcı üxerine çift tıklayınız." & @CRLF & "Veya sağ tıklayıp bağlanı tıklayınız..") EndFunc WinWait($YaziciIpAdresi & " üzerinde") ;bağlandığında otomatik spool penceresi açılıyor If Not WinActive($YaziciIpAdresi & " üzerinde") Then WinActivate($YaziciIpAdresi & " üzerinde") WinWaitActive($YaziciIpAdresi & " üzerinde") WinClose($YaziciIpAdresi & " üzerinde") RunWait(@ComSpec & ' /c start control printers') ;devamında varsayılan yazıcıyı seçmesini sağlamalıyım. spooler ekranı başlığında 192.168.0.22 üzerinde lazerjet vs ve 192.168.0.22 üzerinde lazerjet vs yenileniyor yazıyor : başlık değişiyor. 300 e yakın kullanıcı 500 e yakın yazıcı var. Edited September 3, 2014 by mkayer Quote Link to comment Share on other sites More sharing options...
blue_life Posted September 4, 2014 Share Posted September 4, 2014 (edited) @mkayer Öncelikle yapmaya çalıştığın çalışma hakkında fazla bilgim yok. Hata aldığın kodları düzenleyelim. Sen kurcalarsın... #RequireAdmin MsgBox(64, "Uyarı", "Bağlanmak istediğiniz Yazıcının Bağlı olduğu Bilgisayarın Ip Adresini giriniz." & @CRLF & "Ip adresi 192.168.1.21 ... gibi rakamlar arasında noktalar ile girilmelidir..") Global $YaziciIpAdresi = InputBox("Ip Adresi", "192.168.1.21 gibi.", "", "", "200", "150") If $YaziciIpAdresi = "" Then Exit ;Bir şey girilmemişse çıkış yaparsın. RunWait(@ComSpec & ' /c start \\' & $YaziciIpAdresi) Sleep(1000) MsgBox(64, "Varsayılan Yazıcı Seç", "Bağlanmak istediğiniz Yazıcı üxerine çift tıklayınız." & @CRLF & "Veya sağ tıklayıp bağlanı tıklayınız..") ; ------------- WinWait($YaziciIpAdresi & " üzerinde") ;bağlandığında otomatik spool penceresi açılıyor If Not WinActive($YaziciIpAdresi & " üzerinde") Then WinActivate($YaziciIpAdresi & " üzerinde") WinWaitActive($YaziciIpAdresi & " üzerinde") WinClose($YaziciIpAdresi & " üzerinde") RunWait(@ComSpec & ' /c start control printers') ;devamında varsayılan yazıcıyı seçmesini sağlamalıyım. Edited September 4, 2014 by blue_life Quote Link to comment Share on other sites More sharing options...
mkayer Posted September 15, 2014 Share Posted September 15, 2014 adm() Func adm() Local $sUserName = "administrator" Local $sPassword = "12345" Local $iPID = RunAs($sUserName, @ComputerName, $sPassword, 0, "cmd.exe", "", @SW_SHOWMAXIMIZED) EndFunc WinWait("yönetici C:\WINDOWS\system32\cmd.exe","") If Not WinActive("yönetici C:\WINDOWS\system32\cmd.exe","") ("yönetici C:\WINDOWS\system32\cmd.exe","") WinWaitActive("yönetici C:\WINDOWS\system32\cmd.exe","") bu şekilde cmd exeyi yönetici olarak çalıştırabiliyorum. fakat istediğim RunWait(@ComSpec & '/c start cmd.exe') ve diğer kodlar scriptin içerisinde netsh ile local ip değiştireceğim. user yetkileri ile scriptin kendisini administrator yetkileri ile çalıştırabilirmiyim. Quote Link to comment Share on other sites More sharing options...
blue_life Posted September 16, 2014 Share Posted September 16, 2014 @mkayer Anladığım kadarıyla admin yetkisine sahip olmayan autoit çalışmanın içinden, admin yetkileri ile komut istemini çalıştırmak istiyorsun. Bunun için sana basit bir örnek vereyim. Sen kendine göre düzenlersin. Local $Komut = "ver" If IsAdmin() = 0 Then ShellExecute(@ComSpec, '/k ' & $Komut, '', 'runas') Else Run(@ComSpec & ' /k ' & $Komut) EndIf 2 Quote Link to comment Share on other sites More sharing options...
mkayer Posted September 16, 2014 Share Posted September 16, 2014 @mkayer Anladığım kadarıyla admin yetkisine sahip olmayan autoit çalışmanın içinden, admin yetkileri ile komut istemini çalıştırmak istiyorsun. Bunun için sana basit bir örnek vereyim. Sen kendine göre düzenlersin. Local $Komut = "ver" If IsAdmin() = 0 Then ShellExecute(@ComSpec, '/k ' & $Komut, '', 'runas') Else Run(@ComSpec & ' /k ' & $Komut) EndIf bana bir harf öğretenin kırk yıl kölesi olurum düsturu ile size teşekkürü borç bilirim. çalışmalırınızdan çok şey öğrendim. Yani Üstadım dememde bir sakınca yok benim açımdan.Umarım sizde kabul buyurursunuz. yapmak istediğim; yazdığım bir çok script active directory user kullanıcı yetkileri ile çalışacak adminler şifreli scriptleri çalıştırırken yetkiniz bulunmamaktadır uyarısı alıyorum. autoitte yazdığım scriptlerin kendilerini admin yetkisi ile çalıştırmamın daha kolay bir yolu olmalı. Quote Link to comment Share on other sites More sharing options...
blue_life Posted September 17, 2014 Share Posted September 17, 2014 @mkayer Active Directory Users vs. ile alakalı malesef bilgim olmadığı için sana fazla yardımcı olamıyorum. Yerel bilgisayarda, sınırlı bir kullanıcı altından veyahut auc açıkken, yönetici yetkisi ile çalışmamış bir program üzerinden, başka bir programı yönetici yetkileri ile çalıştırmak için aşağıdaki verdiğimiz komutu kullanıyoruz genelde. ShellExecute("Dosya veyahut program", 'Parametresi', 'runas') ;ayrıntılı bilgi için yardım dosyasına bakınız Yardımcı olamadım kusura bakma. Autoti forumlarını kurcalamanı öneririm. https://www.google.com.tr/search?q=site%3Awww.autoitscript.com%2Fforum+Active+Directory+Users+ 2 Quote Link to comment Share on other sites More sharing options...
mkayer Posted March 13, 2016 Share Posted March 13, 2016 RegWrite ("HKEY_CURRENT_USER\Control Panel\Desktop" , "Wallpaper" , "REG_SZ" , "C:\cozum\ip\backgroundip.bmp" ) hkcu içine ekleme yapabiliyorum win7 - win8 ve win10 da RegWrite ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" , "ipbackground" , "REG_SZ" , "C:\cozum\ip\IpBackground.exe" ) fakat hklm içine ekleme yapamıyorum çözümü varmı ustalar... Quote Link to comment Share on other sites More sharing options...
blackman12 Posted March 13, 2016 Share Posted March 13, 2016 Kodunu aynen yapıştırdım çalıştırdım, iki değer de regedite işlendi. Bir sorun yok kodda. (Yapısal olarak yoksa yazdırmaya çalıştığın değer işine yaramıcak orası ayrı :D ) Quote Link to comment Share on other sites More sharing options...
Extended Posted March 13, 2016 Share Posted March 13, 2016 RegWrite ("HKLM64\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" , "ipbackground" , "REG_SZ" , "C:\cozum\ip\IpBackground.exe" ) böyle dene bir de. Quote Link to comment Share on other sites More sharing options...
ronaldinho424 Posted March 17, 2016 Share Posted March 17, 2016 (edited) çözümü bu şekilde olacak denersen çalışır. #RequireAdmin RegWrite("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" ,"ipbackground" ,"REG_SZ" ,@HomeDrive & "\cozum\ip\IpBackground.exe") Edited March 17, 2016 by ronaldinho424 Quote Link to comment Share on other sites More sharing options...
FeritEtemSinBin Posted November 6, 2016 Share Posted November 6, 2016 (edited) sa ben akıllı tahtalar için küçük bi program yapıyorum da auto it ile son olarak şöyle bişey kaldı tüm sürücüleri kontrol edicek (D E F G H I J K L M N O P Q R S T U V W X Y Z C) eğer herhangi bi sürücüde \boot\vestel\install.wim bu dosya varsa değişkene bu sürücü yü tanımlıcak ve cmd de diskpart /s değişken\boot\vestel\DiskiYapilandir.txt değişken\boot\vestel\Deploy.cmd değişken\boot\vestel\install.wim diskpart /s değişken\boot\vestel\SistemBolumunuGizle.txt şeklinde komutlar ı atakli fonksiyonuna girdirmem lazım son hali Spoiler #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <GDIPlus.au3> #include "Marquee.au3" #include <ColorConstants.au3> #include <MsgBoxConstants.au3> #RequireAdmin $hDPPID = Run("diskpart.exe", @SystemDir, @SW_HIDE, 0x1 + 0x2) getDPreturn($hDPPID) StdinWrite($hDPPID, "lis dis" & @CRLF) $s_Out = getDPreturn($hDPPID) StdinWrite($hDPPID, "exi" & @CRLF) ProcessClose($hDPPID) Example() Func Example() FileInstall("logo.png",@ScriptDir &"\logo.png") Global $hGUI =GUICreate("TheSinBin ET Sıfırlama Sistemi", 400, 310,20,20,3) Global $aMarquee[8] Global $g_bPaused = False Local $idatakli = GUICtrlCreateButton("Atakli Sistem Kur(1)", 10, 10,140,25) Local $idataksiz = GUICtrlCreateButton("Ataksiz Sistem Kur (2)", 10, 40,140,25) Local $idguncelle = GUICtrlCreateButton("Seri No Guncelle (3)", 10, 70,140,25) Local $idvestel = GUICtrlCreateButton("Vestel Uygulamasını Ac (4)", 10, 100,140,25) Local $iddisk = GUICtrlCreateButton("Diskleri Goster (5)", 10, 130,140,25) Local $idkapat = GUICtrlCreateButton("Tahtayi Kapat (6)", 10, 160,140,25) Local $idyenidenbaslat = GUICtrlCreateButton("Tahtayi Yeniden Baslat (7)", 10, 190,140,25) Local $idpkapat = GUICtrlCreateButton("Programi Kapat(esc)", 10, 220,140,25) GUISetState(@SW_SHOW, $hGUI) HotKeySet("{1}", "HotKeyPressed") HotKeySet("{2}", "HotKeyPressed") HotKeySet("{3}", "HotKeyPressed") HotKeySet("{4}", "HotKeyPressed") HotKeySet("{5}", "HotKeyPressed") HotKeySet("{6}", "HotKeyPressed") HotKeySet("{7}", "HotKeyPressed") HotKeySet("{ESC}", "HotKeyPressed") GUISetBkColor (0xffffff) GUICtrlSetBkColor($idatakli, 0xffffff) GUICtrlSetBkColor($idataksiz, 0xffffff) GUICtrlSetBkColor($iddisk, 0xffffff) GUICtrlSetBkColor($idguncelle, 0xffffff) GUICtrlSetBkColor($idkapat, 0xffffff) GUICtrlSetBkColor($idpkapat, 0xffffff) GUICtrlSetBkColor($idvestel, 0xffffff) GUICtrlSetBkColor($idyenidenbaslat, 0xffffff) GUICtrlSetColor($idatakli, 0xff6347) GUICtrlSetColor($idataksiz, 0xff6347) GUICtrlSetColor($idyenidenbaslat, 0xff6347) GUICtrlSetColor($idvestel, 0xff6347) GUICtrlSetColor($idpkapat, 0xff6347) GUICtrlSetColor($idguncelle, 0xff6347) GUICtrlSetColor($iddisk, 0xff6347) GUICtrlSetColor($idkapat, 0xff6347) $aMarquee[0] = _GUICtrlMarquee_Init() _GUICtrlMarquee_SetDisplay($aMarquee[0], 1, 0x000000, 0xffffff, 10, "Comic Sans MS") _GUICtrlMarquee_Create($aMarquee[0], "Bu Program TheSinBin Trafından YeşilYayla MTAL Lisesi İçin Yapılmıştır.", 0, 260, 400, 20) _GDIPlus_Startup() $hImage = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\logo.png") $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI) _GDIPlus_GraphicsDrawImage($hGraphic, $hImage, 150, 10) While 1 Switch GUIGetMsg() Case $idatakli $iPID = atakli() Case $idataksiz $iPID = ataksiz() Case $idguncelle $iPID = guncelle() Case $idvestel $iPID = vestel() Case $iddisk $iPID= MsgBox(0, "", $s_Out & @CRLF) Case $idkapat Shutdown(1) case $idyenidenbaslat $iPID = _reboot() Case $idpkapat $iPID = _exit() EndSwitch FileDelete("logo.png") WEnd GUIDelete($hGUI) EndFunc func atakli() Exit EndFunc func ataksiz() Exit EndFunc func guncelle() Exit EndFunc func vestel() Exit EndFunc Func HotKeyPressed() Switch @HotKeyPressed Case "{1}" $iPID = ShellExecute(@ScriptDir & "\atakli.exe") Case "{2}" $iPID = ShellExecute(@ScriptDir & "\ataksiz.exe") Case "{3}" $iPID = ShellExecute(@ScriptDir & "\guncelle.exe") Case "{4}" ShellExecute(@ScriptDir & "\vestel.exe") Case "{5}" $iPID= MsgBox(0, "", $s_Out & @CRLF) Case "{6}" Shutdown(1) Case "{7}" _reboot() Case "{ESC}" Exit EndSwitch EndFunc Func getDPreturn($PID) Local Static $hDLLUSER32 = DllOpen("user32.dll") Local $s_Return = "", $s_CmdRet, $a_Ret While ProcessExists($PID) $s_CmdRet = StdoutRead($PID) If $s_CmdRet Then $s_Return &= $s_CmdRet If StringInStr($s_Return, "DISKPART>", 2) Then ExitLoop EndIf Sleep(10) WEnd $a_Ret = DllCall($hDLLUSER32, "bool", "OemToChar", "str", $s_Return, "str", "") If @error Or UBound($a_Ret) < 3 Then Return SetError(1,@error, "") Return $a_Ret[2] EndFunc Func _exit() FileDelete("logo.png") Exit EndFunc func _reboot() FileDelete("logo.png") Shutdown(6) EndFunc Spoiler Edited November 6, 2016 by FeritEtemSinBin Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.