English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
Alle Kategorien

2006-12-12 03:11:50 · 3 antworten · gefragt von Gert H 1 in Computer & Internet Programmierung & Design

Zur Verdeutlichung: Die Kommandozeile soll direkt zu Mein Yahoo führen, müsste also User-ID und PWD einschließen. Die bisherigen Antworten berücksichtigen dies nicht und sind deswegen unbrauchbar.

2006-12-13 08:45:09 · update #1

3 antworten

Ich gehe davon aus das du schon überprüft hast ob der Messi Kommandozeilenparameter übernimmt und das nicht tut. Ich weiss es nicht und ich habe auch keinen Messi hier. Wenn das anders wäre dann wäre das ziemlich trivial. Also Parameter auf der Commandline übergeben.
Der Umständliche Weg wäre der über ein Programm.
Mit
ShellExecute (0, "open", "pfad auf yahoo messenger", "","", 5)
wird zunächst der blanke Messanger gestartet. Hier sollte darauf geachtet werden das eben nicht wie der vorherige Schreiber meint Benutzer und Passwort gespeichert werden.

Dann wirds kompliziert. Du musst nun den Fensterbaum mit der nachfolgenden Funktion so lange durchsuchen bis du die Eingabefelder für Benutzer und Passwort gefunden hast. Die Funktion kann entweder einen Fenstertitel oder einen Klassennamen oder beides übernehmen. Die Suche fängt dabei vom DesktopWindow an. (Messanger suchen). Wenn der gefunden ist diesen als root angeben und die Eingabefelder suchen.
Mit SendMessage oder PostMessage kannst du dann die komplette Programmsteuerung übernehmen.

HWND FindWindow(char *pszCaptionstring, char *pszClassName, HWND root)
{
char szCaption[256];
char szClass[256];
HWND cwnd = GetWindow(root, GW_CHILD);
int result;
FILE * hf;

hf = fopen("C:\\temp\\wincaption.txt", "w");
cwnd = GetWindow(cwnd, GW_HWNDFIRST);
while (cwnd!=NULL)
{
if (pszClassName==NULL)
{
GetWindowText(cwnd, szCaption, sizeof (szCaption));
result = strncmp(szCaption, pszCaptionstring, strlen(pszCaptionstring));
if (result==0)
{
return cwnd;
}
}
else
{
GetClassName(cwnd, szCaption, sizeof (szCaption));
GetWindowText(cwnd, szClass, sizeof (szClass));
result = strncmp(szCaption, pszClassName, strlen(pszClassName));
if (result==0)
{
return cwnd;
}
}
cwnd = GetWindow(cwnd, GW_HWNDNEXT);
}
return NULL;
}

Anmerkung:
Die Funktion ist zwar sehr mächtig (man reiche mir unter windows ein Handle und ich stelle windows auf den Kopf) aber so manchem ist das einfach zu kompliziert.

2006-12-15 01:13:38 · answer #1 · answered by 🐟 Fish 🐟 7 · 0 0

Klar!
N' Klick wäre auch zu einfach gewesen.

2006-12-13 16:18:42 · answer #2 · answered by Corry 6 · 0 0

Automatisiere die Anmeldung mit einem der üblichen Mittelchen (je nach verwendetem Browser), trag' als Startseite in Deinem Browser entsprechend Mein Yahoo ein und starte einfach den Browser per Kommandozeile.

2006-12-12 11:23:13 · answer #3 · answered by LXP 5 · 0 0

fedest.com, questions and answers