LabVIEWForum.de
User32.dll FP absolut immer im Vordergrund - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: DLL & externer Code (/Forum-DLL-externer-Code)
+---- Thema: User32.dll FP absolut immer im Vordergrund (/Thread-User32-dll-FP-absolut-immer-im-Vordergrund)

Seiten: 1 2


User32.dll FP absolut immer im Vordergrund - PreVIEW - 17.07.2017 12:29

Hallo Labview Gemeinde,

folgendes "Problem" ich möchte in einer bestimmten Situation ein FP fullscreen in den Vordergrund rücken und dieses erst nach Nutzereingabe schließen.
Stand jetzt: das Fenster öffnet sich und geht auch in den Vordergrund. Jedoch kann man die Nutzereingabe umgehen in dem man bsp. strg+esc betätigt.

Jetzt meine Frage:

Gibt es eine möglichkeit solche Tastenkombinationen ab zu fangen und zu Blockieren oder eine "aggressivere" Variante in der das Fenster sich einfach vor alles schiebt?
Ich habe schon mehrere Varianten aus dem Forum probiert aber noch keine zufriedenstellende.

Danke für eure Unterstützung


RE: User32.dll FP absolut immer im Vordergrund - wladimir s - 17.07.2017 13:41

hast du schon

VI-Eigenschaften->Fenstererscheinungsbild->Anpassen auf Modal umschalten und Schließen des Fensters möglich deaktivieren

probiert?


RE: User32.dll FP absolut immer im Vordergrund - PreVIEW - 17.07.2017 15:02

Danke für die Antwort, ja habe ich Versucht.

die Taskleiste lässt sich aber dennoch öffnen.

ich Arbeite mit Labview 2017 falls das einen Unterschied macht.


RE: User32.dll FP absolut immer im Vordergrund - wladimir s - 17.07.2017 15:18

Was meinst du mit Taskleiste? Den Task-Manager?


RE: User32.dll FP absolut immer im Vordergrund - GerdW - 17.07.2017 15:30

Hallo PreView,

suche doch mal nach "Kiosk mode", wenn du soetwas implementieren willst…
Wikipedia hält da ein paar Tipps bereit!


RE: User32.dll FP absolut immer im Vordergrund - PreVIEW - 18.07.2017 08:01

Hallo wladimir,

Die Taskleiste ist die Leiste mit den Geöffneten Programmen und der Uhrzeit etc. meist unten am Bildschirmrand.

Hallo GerdW,

dieser Kiosk mode ist quasie das was ich Suche, jedoch möchte ich diese Funktion nur temporär haben. Mit den Tools die es da gibt kann man ja nur ganzen Benutzkonten die rechte "entziehen".

Ich müsste ja nur bestimmte Tastenkombinationen unterdrücken können. Weiß da jemand welche komandos ich da eingeben muss? Um beispielsweiße die Windows-Taste zu "deaktivieren" oder strg+esc etc.?

Edit.:

Habe etwas in VB gefunden welches genau das macht was ich machen will. Leider bin ich nicht in der Lage das in Labview zu übersetzen.
https://www.vb-paradise.de/index.php/Thread/18630-Windows-Taste-sperren/
Hat einer von euch eine Idee?


RE: User32.dll FP absolut immer im Vordergrund - Trinitatis - 18.07.2017 09:14

Hallo,

Du könntest z.B. dein Programm als einziges offenhalten und dann temporär den Explorer beenden.
Dann kann der user drücken, was er will.
Bei Bedarf startest du dann den Explorer wieder über Systembefehl

Gruß, Marko


RE: User32.dll FP absolut immer im Vordergrund - PreVIEW - 18.07.2017 11:17

Hallo Marko,

Danke für den Tipp.

diese Option habe ich im zuge meiner Recherchen auch schon gefunden.
Nur wurde da geschiltert das der Aufruf des Explorers nicht funktioniert da Labview wohl über den Explorer (der ja zuvor geschlossen wurde) den Befehl sendet und da beißt sich die Katz in den Schwanz wie man so schön sagt Wink

Aber vllt kennst du einen anderen Weg den Explorer auf zu rufen?

Ich hab gesehen das in den ganzen C/C++ foren sogenannte Hooks verwendet werden welche den befehl bevor er vom Windows bearbeitet werden kann abfängt.
Wie kann ich sowas mit Labview realisieren?

Danke für eure Hilfe


RE: User32.dll FP absolut immer im Vordergrund - Trinitatis - 18.07.2017 13:18

(18.07.2017 11:17 )PreVIEW schrieb:  Nur wurde da geschiltert das der Aufruf des Explorers nicht funktioniert da Labview wohl über den Explorer (der ja zuvor geschlossen wurde) den Befehl sendet und da beißt sich die Katz in den Schwanz wie man so schön sagt Wink

Aber vllt kennst du einen anderen Weg den Explorer auf zu rufen?

Also unter Win7 lässt sich der Explorer über die angehängte Funktion wieder starten...


Gruß, Marko
...hier nochmal als snippet


RE: User32.dll FP absolut immer im Vordergrund - rolfk - 25.07.2017 14:33

(18.07.2017 11:17 )PreVIEW schrieb:  Nur wurde da geschiltert das der Aufruf des Explorers nicht funktioniert da Labview wohl über den Explorer (der ja zuvor geschlossen wurde) den Befehl sendet und da beißt sich die Katz in den Schwanz wie man so schön sagt Wink

Explorer.exe mit System Exec starten funktioniert ganz gut. Explorer ist zwar die Shell und viele der Funktionen die in shell32.dll sind, sind damit verbunden. System Exec benützt aber CreateProcess() von kernel32.dll und das liegt ganz eindeutig unter der Windows shell, ist also immer verfügbar, auch wenn Explorer abgeschossen wurde.