Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.net  
   

Die mobilen Seiten von c++.net:
https://m.c-plusplus.net

  
C++ Forum :: C++/CLI mit .NET ::  Hotkey, um eiinen Screenshot zu erstellen und im Anhang per Email zu versenden     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
Theodor
Mitglied

Benutzerprofil
Anmeldungsdatum: 07.07.2016
Beiträge: 6
Beitrag Theodor Mitglied 22:21:38 07.07.2016   Titel:   Hotkey, um eiinen Screenshot zu erstellen und im Anhang per Email zu versenden            Zitieren

Beim letzten Brainstorming im Servicedesk ist die Idee aufgekommen, dass es gut wäre, wenn unsere Kollegen bei Softwareproblemen die Möglichkeit hätten, einfach eine bestimmte Taste zu drücken, dann ein Screenshot erstellt wird und dieser im Anhang per Email an das Servicedesk versendet wird.
Print-screen drücken, Paint öffnen, Zwischenspeicher einfügen usw. ist für unsere Kollegen, die zwar Computer benutzen, aber Fähigkeiten in anderen Bereichen haben, nicht das Nächstliegende.

Nun habe ich ja Urlaub, den ich überwiegend Zuhause verbringen werde und deswegen hatte ich mir vorgenommen, das programmierste mal. Das wäre dann mein Einstieg in C/C++ und ich habe mir Visual Studio 2015 Community Edition auf meiner Windows 10 Büchse installiert und los ging's.

Ich hab einfach mal mittendrin angefangen, eine Bildschirmkopie erstellen und eine Email zu versenden wird ja so schwierig nicht sein, wie aber löse ich das Tastendruckproblem - das war mir gar nicht klar. Als erstes bin ich beim googlen auf Keylogger gestoßen und hatte auch schon angefangen, Code auszuprobieren, nachdem ich nach "pollen ist böse" auf Tastatur Hooks gestoßen war. Bei Problemen damit begegnete mir die registerhotkey-Funktion.

Unsere Idee, F12 festzunageln dafür, ist bestimmt eine doofe Idee denke ich mir, sicher gibt es Anwender, die da eine Software laufen haben, die diese Taste braucht, also muss man die Funktionstaste aussuchen können und dann sind wir bei Zustand speichern müssen.

Unsere Anwender sind unprivilegiert an Windows 7, eine Ini-Datei in C:\Windows oder unterhalb von Programme zu aktualisieren scheitert daran wenn das Programm im Userkontext läuft. Registry-Manipulationen auch und für XML habe ich um 2 Einstellungen zu speichern keinen Nerv. Ein simple Ini-Datei kann ich auch in Appdata ablegen und da darf der User das auch. Das halte ich für eine zufriedenstellende Lösung. Eine Ini-Datei in C:\users\<Nutzer>\Appdata\Roaming\MeineFirma\Servicedesk\ abzulegen, finde ich gut.

Wie kriege ich jetzt den richtigen Pfad raus? SHGetfolerpath ist da mein Freund. Und die Verzeichnisse erzeugen und die Ini-Datei mit Defaults abzulegen, gehört iwie wohl zusammen, imho und so sind meine neuen Freunde _mkdir und Get-, sowie WritePrivateProfileString auch noch dazugekommen. Und tja, wie das mit neuen Freunden so ist, ist das Kennenlernen mit mancher Überraschung angereichert.
In C++ wollten die beiden letzteren ja gar nicht mitspielen z. B. und ich fand raus, mit A-Krücken ging das dann.

Wieso das so ist, habe ich dann vermutlich gelernt. Das sind uralte Knochen aus C Zeiten, noch vor Unicode. Also habe ich ein CLI-App erstellt und Multibyte anstelle von Unicode in den Eigenschaften festgelegt und schon flutscht das erste Sahne.

Teil 1 von mehreren Teilprojekten betrachte ich hiermit vorläufig als fertig.

...Ihr dürft klatschen! :p

Iwie fertig ist auch schon das Fenster, nur die Screenshot und Mapi-Kisten sind noch dunkel. Das Fenstergedöns ist aber weit, weit entfernt von der Multibyte-Cli und ich frage mich so langsam, wie ich da wohl Daten fließen lasse...

Und da ist sie, die Frage. Kann ich vom Fenster-Main.cpp von der Multibyte-Cli Strings abfragen oder nicht?
Swordfish
Mitglied

Benutzerprofil
Anmeldungsdatum: 27.03.2005
Beiträge: 5627
Beitrag Swordfish Mitglied 22:35:52 07.07.2016   Titel:              Zitieren

Hallo Theo!

Liest Du genau so gerne, wie Du offenbar schreibst?

_________________
To the journey! And to those of us who aren't here to celebrate it with us.


Zuletzt bearbeitet von Swordfish am 22:37:05 07.07.2016, insgesamt 1-mal bearbeitet
Theodor
Mitglied

Benutzerprofil
Anmeldungsdatum: 07.07.2016
Beiträge: 6
Beitrag Theodor Mitglied 22:37:05 07.07.2016   Titel:              Zitieren

Oh, zuviel? Ich bessere mich, versprochen. :live:
Swordfish
Mitglied

Benutzerprofil
Anmeldungsdatum: 27.03.2005
Beiträge: 5627
Beitrag Swordfish Mitglied 22:38:34 07.07.2016   Titel:              Zitieren

Das war schon eine ernstgemeinte Frage, auf die ich mir eine Antwort erhofft habe.

_________________
To the journey! And to those of us who aren't here to celebrate it with us.
Mechanics
Mitglied

Benutzerprofil
Anmeldungsdatum: 27.01.2012
Beiträge: 4022
Beitrag Mechanics Mitglied 23:06:56 07.07.2016   Titel:   Re: Hotkey, um eiinen Screenshot zu erstellen und im Anhang per Email zu versenden            Zitieren

Theodor schrieb:
Und da ist sie, die Frage. Kann ich vom Fenster-Main.cpp von der Multibyte-Cli Strings abfragen oder nicht?


Keine Ahnung, was du meinst ;) Ist alles noch etwas schwammig formuliert.
Ich hab jetzt auch nicht mal verstanden, ob du die Screenshot Funktionalität in eure eigene Anwendung direkt integrieren willst, oder ob du ein externes Programm schreiben willst, das unabhängig von eurem eigentlichen Programm läuft.

Wenn du zweiteres willst, schau dir mal Greenshot an. Das hat verschiedene Targets und kann glaub ich auch Emails versenden, aber das habe ich nie ausprobiert. Gibt sicher auch dutzende andere Screenshot Tools, aber Greenshot ist schon ein guter Open Source Vertreter. Und wenn dich interesssiert, wie das funktioniert, kannst mal in den Code schauen. Du wirst wahrscheinlich erstmal überrascht sein, wie umfangreich der ist, das ist schon einiges ;) Macht wenig Sinn, das nachzubauen.

Wenn du die Funktionalität direkt in eure Anwendung integrieren willst, ist es was anderes. Dann würdest aber wahrscheinlich auch anders vorgehen.
Theodor
Mitglied

Benutzerprofil
Anmeldungsdatum: 07.07.2016
Beiträge: 6
Beitrag Theodor Mitglied 23:18:00 07.07.2016   Titel:              Zitieren

Die Sache soll simpel für den Anwender sein.
Aber ich habe natürlich keine Lust, etwas zu programmieren, was es (fast) so schon gibt.

Greenshot sieht schon mal sehr nach "fast so" aus, das schaue ich mir mal an, danke für den Tip, Mechanics!
EOP_ist_wiedermal
Unregistrierter




Beitrag EOP_ist_wiedermal Unregistrierter 23:31:39 07.07.2016   Titel:              Zitieren

Zu dem ganzen OP fällt mir nur "Naja..." ein.
Deine Kollegen sind alle Volltrottel. Du der Held, der ein ScreenshotProgramm programmieren kann, das immer nur eine schwarze Fläche darstellt.
Das Ganze erklärt in einem post der fast so lang ist wie ein griechisches Drama.
Naja...
C++ Forum :: C++/CLI mit .NET ::  Hotkey, um eiinen Screenshot zu erstellen und im Anhang per Email zu versenden   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.net ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.