Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Sendmessage an Dialogfenster (https://www.delphipraxis.net/179105-sendmessage-dialogfenster.html)

mkinzler 15. Feb 2014 17:04

AW: Sendmessage an Dialogfenster
 
Tante Google lügt nicht :mrgreen:

Es gibt u.U. eine Möglichkeit die Sicherheitswarung auszuschalten, aber mit Sendmessage und Co. wirst Du den Dialog nicht bedienen können, da er in einem anderen (Benutzer-)Kontext läuft. Das sollte Dein Prof aber wissen.

Bernhard Geyer 15. Feb 2014 19:29

AW: Sendmessage an Dialogfenster
 
Zitat:

Zitat von mkinzler (Beitrag 1248001)
Es gibt u.U. eine Möglichkeit die Sicherheitswarung auszuschalten, aber mit Sendmessage und Co. wirst Du den Dialog nicht bedienen können, da er in einem anderen (Benutzer-)Kontext läuft. Das sollte Dein Prof aber wissen.

Sollte eigentlich der gleiche Kontext sein, aber vermutlich hat hier MS ähnlich wie manche Virenscanner einen Schutz eingebaut das nur wirkliches Maus-Klicken zum erfolg führt.

jaenicke 15. Feb 2014 19:39

AW: Sendmessage an Dialogfenster
 
Zitat:

Zitat von Nimmersatt (Beitrag 1247999)
Laut Google ist dieses Problem nicht lösbar, was meint ihr ?

Da hast du wohl die falschen Fragen gestellt. Ich habe eben in ein oder zwei Minuten das Addin "Advanced Security for Outlook" gefunden, das diese Fragen konfigurierbar macht:
http://www.mapilab.com/de/outlook/security/

Nimmersatt 17. Feb 2014 22:05

AW: Sendmessage an Dialogfenster
 
Hallo Jänicke,

Danke für die Info, diese werde ich mal testen.
Vielleicht funktioniert diese Option ja.

Aber vielleicht gibt es ja doch einen Weg, um dieses Problem innerhalb von Delphi zu lösen, wie die zwei Beiträge hoffen lassen.

Hallo matsch,

soweit ich weiss, kann man das Symbol nicht ausblenden. Du kannst Dir aber sehr einfach ein eigenes ExpressClickYes bauen (Dazu benötigst Du die API-Funktionen FindWindow und SendMessage), bzw. die Funktionalität in direkt in Deine Anwendung integrieren (z.B. in einem Hintergrundthread, der in der Main-methode angestoßen wird). Bei einem eigenen Programm kannst Du selbst bestimmten, ob und falls wie es sichtbar ist, oder nicht.


Hallo Rainbird,

ich versuche gerade so einen autoatischen "Klick" in mein Programm einzubauen. Es klappt alles auch wunderbar, nur habe ich beim letzten Schritt ein Problem. Der Versuch den Button "Erteilen" zu drücken passiert einfach nichts. Die schritte vorher funktionieren, dh. es ist alles korrekt ausgewählt (Fenster bleibt ja erstmal so stehen). Das vorher ermittelte Button Handle stimmt aber (mit WinSpy überprüft). Hier mal mein Ablauf:
hwndCheckbox = Checkbox, die erstmal aktiviert werden muss, um die gewünschte Zeit auswählen zu können
hwndCombobox = Combobox mit Zeitangabe
hwndButton = Handle des Buttons "Erteilen", welcher den Zugriff erlaubt
hWnd = Handle des kleinen Outlook Fensters (Zugriff gewähren?)

C#-Code:
PostMessage(hWnd, WM_SETFOCUS, 0, 0);
PostMessage(hwndCheckbox, WM_SETFOCUS, 0, 0);
PostMessage(hwndCheckbox, WM_KEYDOWN, VK_SPACE, 0);
PostMessage(hwndCheckbox, WM_KEYUP, VK_SPACE, 0xC0000000);
PostMessage(hwndCombobox, WM_KEYDOWN, VK_DOWN, 0);
PostMessage(hwndCombobox, WM_KEYUP, VK_DOWN, 0xC0000000);
PostMessage(hwndCombobox, WM_KEYDOWN, VK_DOWN, 0);
PostMessage(hwndCombobox, WM_KEYUP, VK_DOWN, 0xC0000000);
PostMessage(hwndCombobox, WM_KEYDOWN, VK_DOWN, 0);
PostMessage(hwndCombobox, WM_KEYUP, VK_DOWN, 0xC0000000);
PostMessage(hwndButton, WM_SETFOCUS, 0, 0);
PostMessage(hwndButton, WM_KEYDOWN, VK_SPACE, 0);
PostMessage(hwndButton, WM_KEYUP, VK_SPACE, 0xC0000000);

Ist irgendwas in meinem Ablauf falsch? Ich habe auch schon SendMessage probiert, aber auch damit wird der Button nicht gedrückt.

Quelle
http://www.mycsharp.de/wbb2/thread.php?threadid=42888

EWeiss 18. Feb 2014 15:50

AW: Sendmessage an Dialogfenster
 
@Nimmersatt

Sorry auch wenn du neu im Forum bist, oder vielleicht gerade deswegen solltest du dir mal die Formatierungs Möglichkeiten anschauen.
Dein Text ist so schwer lesbar.
Und das um was es geht wird nicht hervorgehoben.

Siehe.. nicht Hallo matsch, sondern den Beitrag als Quote einfügen um was es geht (was du beantworten möchtest)
Bei Delphi > C++ Code gibt es ebenfalls Formatierungen in denen du die Quelltexte einbinden kannst.

Beispiel: nicht Hallo Jänicke.
Sondern
Zitat:

Zitat von jaenicke (Beitrag 1248013)
Zitat:

Zitat von Nimmersatt (Beitrag 1247999)
Laut Google ist dieses Problem nicht lösbar, was meint ihr ?

Da hast du wohl die falschen Fragen gestellt. Ich habe eben in ein oder zwei Minuten das Addin "Advanced Security for Outlook" gefunden, das diese Fragen konfigurierbar macht:
http://www.mapilab.com/de/outlook/security/

Danke für die Info, diese werde ich mal testen.
Vielleicht funktioniert diese Option ja.

Ist doch nicht schwer oder?
Nebenbei ohne das ich dir etwas will!
Es ist Jaenicke nicht Jänicke

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:36 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz