Ich mache es so, das je nach User bestimmte Rechte vergeben werden. Je mehr Rechte, je mehr ist erlaubt. So können sich User mit dem Namen "Anonym" und dem Passwort "Passwort" einloggen, bekommen aber nur einen bestimmten Ordner zu sehen mit einigen Files zum Download. Diese Anonymen dürfen auch nicht uploaden. So einen "Anonymous"-User kannst du auch in deinem Programm anlegen.
Aber AutoBert hat vollkommen recht, NIEMALS darfst du deine eigenen Zugangsdaten weitergeben, bzw in einem Programm "verstecken". Wenn dein Server gekarpert und für illegale Transaktionen benutzt wird, geht die Staatsanwaltschaft davon aus, daß das mit deiner Zustimmung passiert!
Beiträge von Andy
-
-
genau wie bei vielen Videoplayern benutzen auch viele Spiele eigene Grafiktreiber bzw. sprechen die Grafikkarte direkt über den Treiber an. Daher hat Windows überhaupt keine Ahnung, was überhaupt vor sich geht. Dementsprechend wird alles, was in so ein "Fenster" per GDI+ geschrieben wird, bestenfalls mit dem nächsten Frame der Graka wieder überschrieben. Daher kann man auch im Vollbildmodus nicht einfach ein "normales Fenster" anzeigen.
-
Hallo,
[autoit]
zu 1.)
a) Wenn du eine GUI verwendest, könntest du den Fenstertitel abfragen.
b) Wenn das Programm gestartet wird, könntest du den Namen mit@ScriptName
[/autoit]abfragen und einfach wieder auf den "richtigen" Namen umkopieren und ggf das Script stoppen
zu 2.)
http://www.autoitscript.com/forum/index.php?showtopic=29170&hl=EnumDisplaySettingsciao
Andy -
Hallo,
lies mal die Hilfe zu $tagRECT nach:
Parameter:
Left legt die X-Koordinate der oberen linken Ecke fest
Top legt die Y-Koordinate der oberen linken Ecke fest
Right legt die X-Koordinate der unteren rechten Ecke fest
Bottom legt die Y-Koordinate der unteren rechten Ecke festz.B.
Spoiler anzeigen
[autoit]#include <WinAPI.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <WindowsConstants.au3>
#include <FontConstants.au3>Global $tRECT, $hFont, $hOldFont, $hDC
[/autoit] [autoit][/autoit] [autoit]HotKeySet("{ESC}", "_Exit")
[/autoit] [autoit][/autoit] [autoit]$tRECT = DllStructCreate($tagRect)
[/autoit] [autoit][/autoit] [autoit]$hDC = _WinAPI_GetDC(0)
[/autoit] [autoit][/autoit] [autoit]
$hFont = _WinAPI_CreateFont(50, 0, 0, 0, 400, False, False, False, $DEFAULT_CHARSET, _
$OUT_DEFAULT_PRECIS, $CLIP_DEFAULT_PRECIS, $DEFAULT_QUALITY, 0, 'Arial')
$hOldFont = _WinAPI_SelectObject($hDC, $hFont)_WinAPI_SetTextColor($hDC, 0x0000FF)
[/autoit] [autoit][/autoit] [autoit]
_WinAPI_SetBkColor($hDC, 0x000000)
; comment next line to get black background instead of transparent one
_WinAPI_SetBkMode($hDC, $TRANSPARENT)While 1
[/autoit] [autoit][/autoit] [autoit]
$pos=mousegetpos()
DllStructSetData($tRECT, "Left", $pos[0])
DllStructSetData($tRECT, "Top", $pos[1])
DllStructSetData($tRECT, "Right", $pos[0]+250)
DllStructSetData($tRECT, "Bottom", $pos[1]+50)
[/autoit] [autoit][/autoit] [autoit]
_WinAPI_DrawText($hDC, "Hello world!", $tRECT, $DT_CENTER)
Sleep(100)
WEndFunc _Exit()
[/autoit]
_WinAPI_SelectObject($hDC, $hOldFont)
_WinAPI_DeleteObject($hFont)
_WinAPI_ReleaseDC(0, $hDC)
_WinAPI_InvalidateRect(0, 0)
$tRECT = 0
Exit
EndFunc ;==>_Exit -
Hallo,
ZitatNun das was ich nicht verstehe, nämlich wenn ich von meinem Rechner auf einen FTP-Server zugreife (z.B. den von AutoIt) muss ich ja keine Ports freischalten (an meinem Roiter) obwohl mein Rechner ja vom Server Daten empfängt
Doch, du hast diese Ports "freigeschaltet", ansonsten würde dein Router schon die Anfrage nach "draussen" blockieren. Schau mal im Konfigurationsmenü deines Routers, dort sind idR. die Ports 80 für HTTP schon offen.
Beispiele aus meinem Router, die Protokolle und die damit verbundenen Ports
Virtual Server FTP TCP 21/21
Virtual Server HTTP TCP 80/80
Virtual Server HTTPS TCP 443/443
Virtual Server DNS UDP 53/53
Virtual Server SMTP TCP 25/25
Virtual Server POP3 TCP 110/110
Virtual Server Telnet TCP 23/23
Weiterhin sind noch einige weitere Ports offen, 20 für FTP und noch einiges andere.Wenn du jetzt beispielsweise von dir aus eine Verbindung zu einem anderen Rechner im Internet über Http aufbauen möchtest, dann generiert dein Browser eine Anfrage über Port 80 nach "draussen". Wenn nun Firewall/Router ihr OK geben (Port freigegeben) kommt das Paket beim anderen Rechner (laufender Webserverdienst auf Port 34518 ) an und dort passiert folgendes:
Das Paket "klopft" beim Router (Portier im Hotel) an: "Hi, eure (IP)Adresse hab ich gefunden, ich hab da eine Nachricht für einen Webserver im Zimmer(Port) 80, aber wie komme ich jetzt dahin?"
Der Portier telefoniert mit Zimmer 80, daß allerdings der Browser gemietet hat. Browser:"Das Paket hab ich nicht bestellt, das kommt hier nicht rein!"
Der Portier guckt nun in seiner Liste nach, er weiss, dass im Zimmer Nummer 80 der Http-Browser wohnt, aber der nimmt grundsätzlich nur Pakete entgegen, die er selbst angefordert hat!
Was für ein Glück, der Portier hat in seinem Hotel einen speziellen Aufzug, mit dem er die (nicht angeforderten) Pakete für Zimmer 80 ans Zimmer 34518 "weiterleiten" kann. Im Zimmer 34581 wohnt der Webserver. Da steht jetzt das Paket vor der Tür vor einem wahren Schrank von Türsteher!
Paket:"Hallo, der Portier (Router) hat mich hierher weitergeleitet, ich hab da ein Paket für den Webserver!"
Türsteher:"Klasse, der wohnt hier, und Pakete wollen hier laufend rein, aber damit nicht jeder hier einfach so reinspazieren kann, bin ich hier! Wenn du hier rein willst, musst du erstmal sagen wie du heisst und auch das geheime Kennwort wissen!"
Das Paket nennt Namen und Passwort, der Türsteher guckt auf seiner Liste nach, ob das Paket überhaupt bekannt ist und lässt das Paket rein.
Der Webserver hat aber (üblicherweise) ziemlich viel Stress und schnauzt das Paket an:" Hier nimm den Expressaufzug direkt zurück wo du hergekommen bist und sag das nächste Paket kann kommen. Wenn ihr euch nicht beeilt, geb ich den Expressaufzug jemand anderem und ihr müsst wieder zum Portier, neu anmelden!". Das Paket rast zurück, kommt am heimischen Router an und schreit schon von weitem:"Hab Antwort vom Webserver, das nächste Paket soll kommen...." Der heimische Router wartet schon auf das Paket und lässt es sofort durch zum Browser ins Zimmer 80....In Wahrheit ist es noch viel komplizierter^^. Aber so ähnlich läuft es ab....
Wenn nun im Hotel ein neuer Gast im Zimmer 2234 einzieht und einen FTP-Server betreiben will, dann meldet er das beim Portier und der guckt, ob irgend ein anderer Gast schon einen FTP-Server betreibt. Wenn nicht, dann weiss der Portier, das alle (nicht vom Zimmer 21 angeforderten) reinkommenden Pakete, die zu einem FTP-Server wollen, zum Zimmer 2234 weitergeleitet (geforwardet^^) werden müssen....das Zimmer 21 hat nämlich der Browser auch gemietet, so kann er mit diesem Absender seine FTP-Pakete an andere Rechner verschicken.
Hoffentlich hab ich dich nicht zu sehr verwirrt^^
ciao
Andy -
Hi;
ZitatWenn du GuiCtrlDelete aufrufst wird das Contrl gelöscht und die ControlID wieder neu vergeben
Genau so ist es.
@Reaker
Jede Wette, ich halte dein Programm irgendwo an und frage dich dann, welche ConrolID welchem Button zugeordnet ist, das weiss zu dem Zeitpunkt weder du noch dein Script so genau.
Was ich überhaupt nicht verstehe, warum du dieses Chaos überhaupt veranstaltest. GUI´s und Controls erstellen, und je nach Anforderung sichtbar/unsichtbar machen....Zitatnaja was heißt chaos...das ist doch total übersichtlich...
made my day^^ wenn das so übersichtlich ist, wieso findest du den Fehler dann nicht sofort?!
ciao
Andy -
Hallo,
die "zu Fuß"-Lösung, es werden sich aber sicher noch einige RegEx´er melden^^Spoiler anzeigen
[autoit]$text = FileRead("quelltext.txt") ;quelltext in variable
[/autoit]
$von = StringInStr($text, "name=""1993904065""") ;Position des Strings feststellen
$src = StringInStr($text, "src=", 0, 1, $von)+4 ;ab name= die nächste Position NACH DEM src= finden (position hinter dem gleichheitszeichen)
$ende_src = StringInStr($text, ">", 0, 1, $src) ;nächste Position des > finden
$url = StringMid($text, $src , $ende_src - $src ) ;zwischen den beiden Positionen steht der gesuchte string
MsgBox(262144,'Debug line ~' & @ScriptLineNumber,'Selection:' & @lf & '$url' & @lf & @lf & 'Return:' & @lf & $url) ;### Debug MSGBOX
Andy -
Hallo erstmal,
ZitatMit der Board Suche habe ich leider nix passendes gefunden
Ja, die Boardsuche ist echt übel, aber schau mal dieses Script könnte dir da weiterhelfen. Oder du suchst "von Hand" per google nur auf https://autoit.de/www.autoit.de.
Zu deiner Frage, es gibt MASSIG Scripte, die einen FTP-client beinhalten, da wäre es sicher einfacher ein schon geschriebenes Script anzupassen.ZitatGibt es generell ein Tutorial oder einen Ansatz um einen FTP Clienten zu erstellen
In der Hilfe findest du unter dem Stichwort FTP nicht viel, aber in der FTP_EX.au3 UDF sind eigentlich alle Funktionen enthalten.
ciao
Andy -
Hallo,
wenn du das Update "von Hand" starten kannst aber nicht automatisch, dann ist etwas faul....
Rechtsklick auf das Traysymbol, Antivir Konfigurieren, dann Expertenmodus anhaken, in der Liste auf Allgemeines, dann Update, dort den obersten Radiobutton (Automatische Updates) aktivieren. OK drücken, fettich...Wenn du die kostenlose Version verwendest, nervt es weniger, wenn man mit einem AutoIt-Script das nach jedem Update erscheinende Fenster automatisch wegklickt. Die exe in den Autostartordner schieben, fertig....
Spoiler anzeigen
[autoit]while 1
[/autoit]
sleep (1000)
if winexists("Notifier von Avira AntiVir Personal - Free Antivirus") Then
controlclick("Notifier von Avira AntiVir Personal - Free Antivirus","","[CLASS:Button; INSTANCE:1]")
endif
wend -
Hi,
Zitatwozu ist "UBound" habe in der Hilfedatei geschaut aber ich versteh das nicht so recht...
UBound gibt dir die Grösse der Dimension eines Arrays zurück....allerdings ist diese Grösse der Dimension nicht immer schon vorher festgelegt!Du dimensionierst in der Regel ein Array VOR der Verwendung mit z.B
[autoit]DIM $aArray[10] ;Achtung Nullbasiert! $aArray[0] bis $aArray[9]
[/autoit]
[autoit]
Allerdings kann es auch vorkommen, daß dir eine Funktion ein Array zurückgibt von dem du die Dimensionen garnicht wissen kannst. Um nicht auf ungültige Indizes im Array zuzugreifen, bestimmst du die "Obergrenze" mittels Ubound.
Allerdings lauert dort ein Stolperstein, denn Ubound gibt dir die Größe der Dimension, d.h. die Anzahl der Array-Items.
Im oben genannten Beispiel mit DIM $aArray[10] wird Ubound($aArray) also 10 sein...
Das führt bei folgendenm Script zum Fehler:DIM $aArray[10] ;Achtung Nullbasiert! $aArray[0] bis $aArray[9]
[/autoit]
For $i= 1 to ubound($aArray)
$aArray[$i]=$i
next
[autoit]
%i zählt von 1 bis 10, allerdings ist das Array dimensioniert von 0 bis 9!!!!!
Daher immer nur bis Ubound()-1 Zählen!DIM $aArray[10] ;Achtung Nullbasiert! $aArray[0] bis $aArray[9]
[/autoit]
For $i= 0 to ubound($aArray)-1 ; das "nullte" Item soll auch verwendet werden, also von 0 bis 9
$aArray[$i]=$i
next -
Hi,
eine gute Idee ist es, nicht jedesmal das Rad neu erfinden zu wollen.
Für die rekursive Dateisuche gibt es schon schnelle Möglichkeiten fix und fertig, z.B. die von Oscar hier
Ansonsten würde ich mir mal an deiner Stelle an einem gemütlichen Wochenende die AutoIt-Hilfe zur Brust nehmen und dort einfach mal gucken was es alles für Möglichkeiten gibt!
Da aber zu allen deinen Themen schon haufenweise Seiten in der Suche gelistet werden, klinke ich mich ab hier aus.
ciao
Andy -
-
Ich habe das so verstanden, daß er den Bereich im String sucht, bei dem eine IP_Adresse gefolgt von einem Leerzeichen, einem Querstrich, einem Leerzeichen und einer weiteren IP-Adresse matcht.....
-
Zitat
erstaunlich ist, das das guthaben ständig wie in dem vid erklärt steigt.
Jedoch senkt sich die begeisterung wieder wenn man sieht, um 150 % des guthabens zu erlangen muss man um die 2000 mal spielen...das ist nicht erstaunlich, das ist Mathematik^^
Überhaupt nicht erstaunlich ist es, daß man nach dieser Methode SICHER IMMER VERLIERT, was dein Programm ja auch "nachweist" da man irgendwann (logischerweise) pleite ist
Der Link zu Youtube führt zu einem "Werbevideo" eines Spielcasinos, denn die erste Regel im Casino lautet: "Die Bank gewinnt IMMER!"Falls jemand denkt, man muss nur niedrig genug setzen....ich habe das Script mal dahingehend abgeändert.
Spoiler anzeigen
[autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Simulator", 224, 128, 200, 168)
$Label1 = GUICtrlCreateLabel("Guthaben:", 24, 24, 54, 17)
$Label2 = GUICtrlCreateLabel("1000", 80, 24, 106, 17)
$Label3 = GUICtrlCreateLabel("Spiele:", 24, 48, 36, 17)
$Label4 = GUICtrlCreateLabel("0", 80, 48, 106, 17)
$Button1 = GUICtrlCreateButton("Pause", 8, 88, 75, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("Start", 88, 88, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$go = 0
$einsatz = 1
$guthaben = 1000
$spiele = 0While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$go = 0
Case $Button2
_get()
$promille=number(inputbox("Casino","Wieviel Promille deines Kapitals sollen gesetzt werden?","1"))
$einsatz = $promille/1000*$guthaben
$go = 1
EndSwitch
If $go = 1 Then
$spiele += 1
$guthaben -= $einsatz
_get()
If Random(1, 2, 1) = 1 Then
$guthaben += $einsatz * 2
$einsatz = $promille/1000*$guthaben
_get()
Else
$einsatz *= 2
_get()
EndIf
If $guthaben < 1 Then
MsgBox(0, "Pleite", "Du bist Pleite")
$guthaben=1000
$spiele=0
$go = 0
EndIfEndIf
[/autoit] [autoit][/autoit] [autoit]
WEndFunc _get()
[/autoit]
GUICtrlSetData($Label2, $guthaben)
GUICtrlSetData($Label4, $spiele)
EndFunc ;==>_getJe niedriger der Einsatz, desto länger dauert es, bis man verliert.....
-
[autoit]
$icon=GUICtrlCreateicon("icon0002.ico",-1,1,1,20,20)
[/autoit]
$iconhandle=GUICtrlGetHandle($icon)
_GUICtrlStatusBar_EmbedControl($gui030002, 0, $iconhandle,4) -
Hi,
ich habe kein Problem mit dem Programm. Sofort nach dem Drücken des Buttons ist er wieder weg.....
Wenn es bei dir "hängt" dann liegt es m.E. am Connect....
ciao
Andy/*EDIT*/ ggf hilft dir dieser Thread auch nicht weiter, aber es erklärt die (nicht vermeidbare) Wartezeit
-
Spoiler anzeigen
[autoit]#include <Array.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>Opt('MustDeclareVars', 1)
[/autoit] [autoit][/autoit] [autoit]Local $msg, $Input1, $Input2, $Beenden
[/autoit] [autoit][/autoit] [autoit]
local $lan_IP="nicht feststellbar"
local $wlan_IP="nicht feststellbar"dim $a[1][1]
[/autoit] [autoit][/autoit] [autoit]#Region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit]
GUICreate("Form1", 263, 187, 390, 114)$a = _GetAllNetAdapterInfo() ;alle Adapterinfos aus der Registry auslesen und in ein Array schreiben
[/autoit] [autoit][/autoit] [autoit]
if not isarray($a) Then ; wenn es keine Netzwerkadapter gibt, programm beenden
msgbox(1,"Fehler", "Es können keine Netzwerkadapter festgestellt werden!"&@crlf&"Programm wird beendet!")
Exit
endif_ArrayDisplay($a) ;auskommentieren wenn nicht benötigt!
[/autoit] [autoit][/autoit] [autoit]For $i =1 to $a[0][0] ;alle adapter durchsuchen
[/autoit] [autoit][/autoit] [autoit]
if $a[$i][1]="LAN-Verbindung" then $lan_IP=$a[$i][5] ;wenn in der 2. Spalte der String "LAN-Verbindung" vorkommt, dann die 5. Spalte merken
if $a[$i][1]="Drahtlose Netzwerkverbindung" then $wlan_IP=$a[$i][5] ;wenn in der 2. Spalte der String "Drahtlose Netzwerkverbindung" vorkommt, dann die 5. Spalte merken
next$Input1 = GUICtrlCreateInput($lan_IP, 112, 28, 105, 21) ;hier die gedfundene IP eintragen
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$Input2 = GUICtrlCreateInput($wlan_IP, 112, 69, 105, 21) ;hier die gedfundene IP eintragen
GUICtrlCreateLabel("LAN IP Adresse", 16, 32, 79, 17)
GUICtrlCreateLabel("WLAN IP Adresse", 16, 72, 90, 17)
$Beenden = GUICtrlCreateButton("Beenden", 40, 120, 177, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit]
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE Or $msg = $Beenden
ExitLoop
EndSelectWEnd
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];######################################################################################################
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
;# Function Name: _GetAllNetAdapterInfo()
;# Description:: Auslesen aller vorhandenen Netzwerkadapter und deren Konfiguration
;# Parameter(s): keine
;# Requirement(s): keine
;# Return Value(s): Erfolg Array[0][0] Anzahl der Adapter
;# Array[n][0] Adapter Name (wie in Systemsteuerung ==> Netzwerkverbindungen)
;# Array[n][1] Adapter Beschreibung
;# Array[n][2] IP-Adresse
;# Array[n][3] SubNetMask
;# Array[n][4] DHCP-Enabled (0/1)
;# Array[n][5] DHCP IP-Adresse
;# Array[n][6] DHCP SubNetMask
;# Array[n][7] DHCP Default Gateway
;# Array[n][8] DHCP Server
;# Fehler Array[0][0] Leerstring (kein Adapter vorhanden)
;# Author(s): Bitboy, nach einer Idee von BugFix ([email='bugfix@autoit.de'][/email])
;######################################################################################################Func _GetAllNetAdapterInfo()
[/autoit] [autoit][/autoit] [autoit]
Local $infoarr[1][9], $keyarr[1], $i = 0, $x = 0, $counter = 0, $tmp, $tmp2, $short;Registrierte Adapter zählen
[/autoit] [autoit][/autoit] [autoit]
While 1
$i = $i + 1
$tmp = RegEnumKey("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services", $i)
If @error <> 0 Then ExitLoop;Adapter sind in den einzigen Schlüsseln die mit "{" beginnen
[/autoit] [autoit][/autoit] [autoit]
If StringInStr($tmp, "{") Then
$short = 1 ;Merker zum Verkürzen der Schleife da Keys alphabetisch sortiert
$counter = $counter + 1
ReDim $keyarr[$counter + 1]
$keyarr[$counter] = $tmp ;Speichern der Adapterschlüssel
$keyarr[0] = $counter
Else
If $short = 1 Then ExitLoop
EndIf
WEnd;Funktion verlassen wenn kein Adapter gefunden wurde
[/autoit] [autoit][/autoit] [autoit]
If $counter = 0 Then
$infoarr[0][0] = 0
Return $infoarr
EndIf;Rückgabearray an Adapterzahl anpassen
[/autoit] [autoit][/autoit] [autoit]
ReDim $infoarr[$counter + 1][9]
$infoarr[0][0] = $counter; TCP-Informationen auslesen
[/autoit] [autoit][/autoit] [autoit]
For $i = 1 To $counter
$infoarr[$i][2] = RegRead('HKLM\SYSTEM\CurrentControlSet\Services\' & $keyarr[$i] & '\Parameters\Tcpip', 'IPAddress')
$infoarr[$i][3] = RegRead('HKLM\SYSTEM\CurrentControlSet\Services\' & $keyarr[$i] & '\Parameters\Tcpip', 'SubnetMask')
$infoarr[$i][4] = RegRead('HKLM\SYSTEM\CurrentControlSet\Services\' & $keyarr[$i] & '\Parameters\Tcpip', 'EnableDHCP')
$infoarr[$i][5] = RegRead('HKLM\SYSTEM\CurrentControlSet\Services\' & $keyarr[$i] & '\Parameters\Tcpip', 'DhcpIPAddress')
$infoarr[$i][6] = RegRead('HKLM\SYSTEM\CurrentControlSet\Services\' & $keyarr[$i] & '\Parameters\Tcpip', 'DhcpSubnetMask')
$infoarr[$i][7] = RegRead('HKLM\SYSTEM\CurrentControlSet\Services\' & $keyarr[$i] & '\Parameters\Tcpip', 'DhcpDefaultGateway')
$infoarr[$i][8] = RegRead('HKLM\SYSTEM\CurrentControlSet\Services\' & $keyarr[$i] & '\Parameters\Tcpip', 'DhcpServer')
Next;Adapternamen auslesen
[/autoit] [autoit][/autoit] [autoit]
$i = 1
$short = 0
While 1
$tmp = RegEnumKey("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}", $i)
If @error <> 0 Then ExitLoop$tmp2 = RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\" & $tmp, "NetCfgInstanceId")
[/autoit] [autoit][/autoit] [autoit]
For $x = 1 To $counter;Zugeordnete Verbindung auslesen
[/autoit] [autoit][/autoit] [autoit]
$infoarr[$x][1] = RegRead('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\' & $keyarr[$x] & '\Connection', 'Name')
If $tmp2 = $keyarr[$x] Then
$infoarr[$x][0] = RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\" & $tmp, "DriverDesc")
$short = $short + 1 ;gefundene Namen zählen
EndIf
NextIf $short = $counter Then ExitLoop ;Alle Adapternamen gefunden
[/autoit] [autoit][/autoit] [autoit]$i = $i + 1
[/autoit] [autoit][/autoit] [autoit]
WEndReturn $infoarr
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
EndFunc ;==>_GetAllNetAdapterInfoFunc GetIP($AdapterName)
[/autoit]
Local $objWMIService = ObjGet('winmgmts:\\localhost\root\CIMV2'), $Output = 0
Local $colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_NetworkAdapter', 'WQL', 0x30)
If IsObj($colItems) Then
For $objItem In $colItems
Local $colItems2 = $objWMIService.ExecQuery('SELECT * FROM Win32_NetworkAdapterConfiguration', 'WQL', 0x30)
If IsObj($colItems2) Then
For $objItem2 In $colItems2
If $objItem.Caption = $objItem2.Caption Then
If $objItem.NetConnectionID = $AdapterName Then
$Output = $objItem2.IPAddress(0)
EndIf
EndIf
Next
EndIf
Next
EndIf
Return $Output
EndFunc ;==>GetIPhab dein script mal "Chefkompatibel" umgebaut

*/EDIT/* Adapter genauer spezifiziert....
-
Zitat
Ich bekomm zwar Infos über den Button aber leider nicht welche Funktion er ausführt...
[autoit]
...DAS wäre auch schön

Aber Spass beiseite, wenn du die "richtigen" Informationen zu diesem Button hast, dann kannst du ihn aus deinem Script z.B. mitcontrolclick()
[/autoit]ansprechen. Das funktioniert auch, wenn das Fenster mit dem Button "unsichtbar" ist.
-
Hi, wenn du sowieso abfragst....aus der Hilfe.....
[autoit]If FileExists("C:\autoexec.bat") Then ; existiert....
[/autoit]
MsgBox(4096, "Datei C:\autoexec.bat", "Existiert")
Else ; ansonsten
MsgBox(4096,"Datei C:\autoexec.bat", "existiert NICHT")
EndIf
[autoit]
...und wenn man absolut ANGST vor Operatoren hat (oder keine Ahnung vom negieren von Wahrheitswerten)....If FileExists("C:\autoexec11.bat") Then ; existiert....
[/autoit]
; man darf auch mal NIX machen....
Else ; ansonsten
MsgBox(4096,"Datei C:\autoexec11.bat", "existiert NICHT")
EndIf -
Zitat
Die Kugel sagt mir
Meine sagt nix, wird am vernachlässigten Polieren liegen...
Und meine interne Software Brain1.0 meldet nur ein "Nicht genug Informationen um eine eindeutige Hilfe zu geben!"
...werde mal auf 2.0 upgraden müssen....