Hallo,
ich würde mir gerne an einer bestimmten stelle ein Fenster suchen und in diesem Fenster erst eine Checkbox anhacken.
Dann in einer ComboBox einen Wert ändern und dann auf einen Button klicken.
Das Fenster kommt nicht von mir sondern wird von Outlook geöffnet.
Habt ihr eine Idee was ich mir dort anschauen sollte?
Danke & Gruß
Andreas
Hallo And.Wolf,
die Frage wurde schon mehrmals bei uns im Forum besprochen. Verwende doch bitte die Forensuche.
Dir bleibst nichts anderes übrig, als zur Win32-API zu greifen. Mit SendMessage musst du dann die einzelnen Nachrichten manuell zuschicken. Das funktioniert aber auch nur bei nativen Anwendungen. Bei .NET-Anwendungen hingegen musst du mit dem UIAutomationProvider arbeiten.
Wenn du Glück hast, bietet Outlook eine API an. Such mal, vielleicht wirst du fündig.
zero_x
zero_x | <span style="font-size: 10;">my</span><span style="font-size: 10;">CSharp</span><span style="font-size: 10;">.de</span> - gemeinsam mehr erreichen
Für längere Zeit inaktiv.
Hallo,
ich habe es nun fast geschafft.
Ich habe folgenden Code:
public void CloseOutlookWindow()
{
IntPtr winHdw = IntPtr.Zero;
while(winHdw == IntPtr.Zero)
winHdw = FindWindow("#32770", MainWindowTitle);
if (winHdw != IntPtr.Zero)
{
IntPtr tmpCheckBox = FindWindowEx(winHdw, IntPtr.Zero, WC_Button, btnCheckBoxTitle);
if (tmpCheckBox != IntPtr.Zero)
{
SendMessage(tmpCheckBox,(uint)WM.BM_CLICK,0,0);
}
IntPtr tmpButton = FindWindowEx(winHdw, IntPtr.Zero, WC_Button, btnErteilenTitle);
if (tmpButton != IntPtr.Zero)
{
SendMessage(tmpButton,(uint)WM.BM_CLICK,0,0);
}
}
}
Der erste Button button erhält seine Nachricht und verarbeitet diese auch wie erwartet.
Der zweite Button wird gefunden verarbeitet aber die Nachricht nicht.
Woran kann das noch liegen?
Danke & Gruß
Andreas