warum wird auf nichts reagiert?
Weil die Ersteller der Software das nicht wünschen, ganz einfach. ![]()
warum wird auf nichts reagiert?
Weil die Ersteller der Software das nicht wünschen, ganz einfach. ![]()
Allerdings brauch ich nur Link 20, 21 und 22. Wie krieg ich die raus?
Die Links sind indexiert (erster Index 0, zweiter Index 1 usw.). Du mußt also die Funktion nur mit Index aufrufen:
$oLink1 = _IELinkGetCollection($oIE, 19)
$oLink2 = _IELinkGetCollection($oIE, 20)
$oLink3 = _IELinkGetCollection($oIE, 21)
Edit: Kaum guckt man schnell in die Küche zum Essen, schon war wieder jemand schneller... ![]()
Der sauberste Weg ist, auf das MSN-Protokoll aufzusetzen und direkt die Datenpakete zu lesen. Da ich MSN nicht verwende, habe ich mich dafür bisher nicht interessiert. Aber hier mal ein Link zu einem Programm, dass dir die Vorgehensweise der MSN-Software analysiert, sodass du weißt, wo du ansetzen mußt: MSN Protocol Analyzer.
Zitat$linkline = FileReadLine($source,48)
Unabhängig davon, dass diese Zeile nicht realisierbar ist (s. Antwort McPoldy):
Der gewählte Variablenname läßt vermuten, dass du einen Link selektieren willst. Warum willst du das über Textfunktionen machen? Dazu gibt es doch _IELinkGetCollection. ![]()
Verwende statt "PixelGetColor()" dann einfach "PicelSearch()" für genau diese Koordinate und setze einen Wert für shade-variation - das ist die zulässige Abweichung vom vorgegebenen Suchwert.
Das ist die sogenannte "Windows-Anwendungstaste" ![]()
Send("{APPSKEY}")
[/autoit]Tretten Fehler im Programm auf egal welche Art von MesseageBoxen sollte dies Dokumentiert werden.
Vermutlich sind die MsgBoxen stilgleich, also ein teilweise identischer Titel ist enthalten (z.B. "Achtung Fehler in ...."). Du kannst ein Programm im Hintergrund laufen lassen, dass bei Aufpoppen eines Fensters mit diesem Titelteil der Inhalt in eine Logdatei geschrieben wird.
Damit auch Teile des Titels erkannt werden: Opt("WinTitleMatchMode", 2)
Das Programm sollte in etwa dann so aussehen:
#include<File.au3>
Opt("WinTitleMatchMode", 2) ; erkennt Teile des Fenstertitels
Global $title = "Gemeinsamer Teil des Titels der MsgBoxen" ; darf nicht identisch im Hauptfenster enthalten sein!
Global $log = "Pfad der Logdatei"
HotKeySet("!e", "ende") ; Hotkey Alt+E zum Beenden des (Endlos)Programms
While True
WinWaitActive($title)
_FileWriteLog($log, WinGetText($title))
WinWaitClose($title)
WEnd
Func ende()
Exit
EndFunc
Kannst ja mal die Geschwindigkeit testen bei Umbenennen mit FileSystem Object:
[autoit]Func _FSOFileRename($sCurrFilePath, $sNewName)
If Not FileExists($sCurrFilePath) Then Return SetError(1,0,1)
Local $oFSO = ObjCreate('Scripting.FileSystemObject')
$oFSO.MoveFile($sCurrFilePath, $sNewName)
EndFunc
So gehts auch:
[autoit]Run(@ComSpec & " /c " & "C:\WINDOWS\system32\compmgmt.msc", "", @SW_HIDE)
[/autoit]Hi,
ist ein Mininetz mit max. 7 Usern. Habe es nach dem Serverausfall nicht mehr als Domäne konfiguriert, nur noch Freigabeebene. Es läuft ein Warenwirtschaftsprogramm mit Firebird als SQL-Server. (Hätte ich gewußt, dass das auf Freigabeebene so viel schneller läuft, als in der Domäne, hätte ich mir doch niemals den ganzen Konfigurationszirkus angetan.)
Da der bisherige Server mit CPU 800 MHz und 256 MB RAM ausgekommen ist, ist alles drüber OK :).
User legen auf dem Server keinerlei Daten ab, die nicht in der Warenwirtschaft enthalten sind. Es ist ein totales Intranet, keine Anbindung an Internet oder Telefonmodem.
Ein Server, wie dieser, würde schon dem entsprechen, was ich mir vorstelle (auch preislich ..so bis 1000 netto). Leider ist dort als BS erst ab Windows 2003 Server angeführt.
Hi,
nachdem unser Server sich verabschiedet hat (nach fast 8 Jahren verzeihlich), soll ich nun Ersatz beschaffen.
Momentan habe ich einfach als Zwischenlösung einem Client Windows 2000 Server aufgebügelt.
Ich möchte auch kein anderes BS kaufen. Zum Einen ist ein bezahltes mit ausrechend Lizenzen vorhanden, zum Anderen erfüllt es alle notwendigen Anforderungen.
Was soll die Hardware können:
- Raid1
- Gigabit LAN
- Grafik onboard reicht völlig aus
- keine besonderen Anforderungen an Prozessor (alles >1,5 GHz ist OK) oder RAM (1GB OK)
- das Wichtigste natürlich: Windows 2000 Server muß sich installieren lassen
Habe heute schon einige Stunden das INet durchwühlt und dabei festgestellt, dass solch "unwichtige" Angaben über verwendbare BS in den tiefsten Kellern der Informationsdateien versteckt werden, falls sie überhaupt erwähnt werden. :wacko:
Gefunden habe ich bisher nur Varianten ab Windows 2003 Server oder aber Racks ab 2.000 Euronen (solche Dinger kann ich nicht gebrauchen - soll schon Tower sein)
Würde mich freuen, falls jemand da einen Tipp hat.
Ich vergass noch zu erwähnen, dass ich nicht den empfohlenen Verkaufspreis (1.199,-EUR lt. Samsung-Homepage) bezahlt habe, sondern "nur" 599,-EUR.
Also, wenn du deswegen Kopfschmerzen hast, zahl mir die Differenz (dann kann ich mir auch solche Kiste leisten) ![]()
@fabs: Wie schon richtig bemerkt wurde:
Zwei funktionen können niemals zur gleichen zeit ablaufen
Wenn du eine Funktion angestoßen hast, die noch nicht beendet ist, kann logischerweise ein GUI_EVENT_CLOSE in der Zeit nicht abgefragt werden.
Du kannst mit AdlibEnable() sich ständig wiederholende Prozeduren ausführen, dann wird zwischenzeitlich auch das GUI_EVENT_CLOSE erfasst.
Oder du setzt per AdlibEnable() eine Funktion in Gang mit Inhalt: ... If GUIGetMsg = $GUI_EVENT_CLOSE Then Exit ...
Damit erzwingst du im vorgegeben Intervall die Abfrage.
Mußt du sehen, was besser in deinen Ablauf paßt.
Edit: tztz, da hab ich wohl zu langsam geschrieben, anno war schneller ![]()
ist es in irgendeiner form möglich, ssl und fish support da reinzubasteln?
Darüber habe ich mir noch keine Gedanken gemacht. Da muß ich nochmal das Protokoll durchschauen, ob das realisierbar ist. Also machbar ist es sicher, aber vermutlich kein Merkmal für Standard-Clients.
ich schreibe gerade auch einen irc clienten dürfte ich evtl auf ein paar sachen von dir zurückgreifen?
Du kannst alles frei verwenden. Ein Teil der Funktionen stammt aus dem EN-Forum, einige habe ich ergänzt und dann dieses Funktionsmuster erstellt.
Ich versuch mich mal dran, zu erklären. Falls ich irgendwo daneben liegen sollte:
@progandy, bitte geraderücken ;-).
Habe es als Kommentare vor die jeweilige Befehlszeile eingefügt:
Func _SendUnicode($text)
; Deklaration der Datenstruktur für die Konstante $tagINPUT_Keyboard:
Local Const $tagINPUT_Keyboard = "DWORD type; ushort wVk; ushort wScan; DWORD dwFlags; DWORD time; ULONG_PTR dwExtraInfo;dword;ULONG_PTR;"
; Deklaration weiterer Konstanten:
Local Const $INPUT_KEYBOARD = 1
Local Const $KEYEVENTF_UNICODE = 0x4
Local Const $KEYEVENTF_KEYUP = 0x2
; Deklaration der Variablen für den Dll-Strukturaufruf unter Verwendung der vorab deklarierten Konstante,
; 2 Input-tags derselben Struktur werden für den Dll-Call benötigt:
Local $tinp = DllStructCreate($tagINPUT_Keyboard & $tagINPUT_Keyboard)
Local $sendDLL = DllOpen("user32.dll")
$text = StringSplit($text, "")
; für jedes Zeichen aus dem übergebenen Text werden die Daten in die Dll-Dtruktur übertragen
; korrelierende Werte jeweils um 6 Positionen versetzt zugewiesen ($tagINPUT_Keyboard mit je 6 Parametern 2-fach in der Struktur)
For $i = 1 To $text[0]
DllStructSetData($tinp, 1, $INPUT_KEYBOARD)
DllStructSetData($tinp, 7, $INPUT_KEYBOARD)
DllStructSetData($tinp, 2, 0)
DllStructSetData($tinp, 8, 0)
DllStructSetData($tinp, 3, AscW($text[$i]))
DllStructSetData($tinp, 9, AscW($text[$i]))
DllStructSetData($tinp, 4, $KEYEVENTF_UNICODE)
DllStructSetData($tinp, 10, BitOR($KEYEVENTF_KEYUP, $KEYEVENTF_UNICODE))
DllStructSetData($tinp, 5, 0)
DllStructSetData($tinp, 11, 0)
DllStructSetData($tinp, 6, 0)
DllStructSetData($tinp, 12, 0)
; der Dll-Call mit den in die Struktur eingesetzten Daten sendet den Unicode für dasZeichen
$ret = DllCall($sendDLL, "uint", "SendInput", "uint", 1, "ptr", DllStructGetPtr($tinp), "int", 28)
Next
DllClose($sendDLL)
EndFunc ;==>_SendUnicode
Die Funktion _PathSplit() hat einen entscheidenden Handlingnachteil:
Obwohl die ermittelten Details in einem Array zurückgegeben werden, muß zusätzlich für jedes Detail eine Variable vorab deklariert und als Referenz beim Funktionsaufruf übergeben werden. Man erspart sich damit zwar die Zuweisung eines Details aus dem Array heraus, muß aber alles deklarieren, selbst wenn nur ein Detail genutzt werden soll. - Sehr unkomfortabel.
Zudem stellt sich die Frage, warum wird ein Array zurückgegeben, wenn alle Details perse schon in separaten Variablen abgelegt sind?
Ich bin seit einigen Jahren mit Telefon + Internet bei 1&1 und habe bisher nur gute Erfahrungen gemacht.
Was einige stört, ist die Mindestvertragslaufzeit. Aber gerade bei einem Provider sehe ich kein Problem. Wenn es wirklich mal zu Differenzen kommen sollte, bleibt im Einzelfall auch ein außerordentliches Kündigungsrecht.
Also wenn wirklich ein einziges Arrayelement mehr als 4095 Zeichen aufnehmen soll (für mich nach wie vor nicht vorstellbar - willst du das für 250 * 9 Einträge tippen?!!), dann geht das so zu realisieren:
[autoit]$s = '1234567.....bis max. Zeilenlänge' & _
'usw. usf. in jeder Zeile' & _
'bis alle Zeichen erfasst sind'
$ar[n][0] = $s
Ist es so schwer, zu erklären, was du tun willst?
Die Hilfe brauchst du nicht zitieren.
Das Limit betrifft die Anzahl Zeichen je Scriptzeile, also brich doch die Zeilen um.
Zeilenlänge von ca. 9500 Zeichen
Was verstehst du unter Zeilenlänge bei einem Array?
Erklär mal, was es werden soll.