<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Screenshot]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich habe folgendes Problem. Die Aufgabe einer Semsterarbeit beseht darin, eine Anleitung für ein DOS Programm zuschreiben. Nun wäre es sehr angenehm, wenn es eine Möglichkeit gäbe Screenshots zu erstellen. Da die Taste deaktiviert ist, habe ich ein kleines Programm geschrieben in dem ich die Methoden der FAQ ausprobiert habe, funktioniert im Normalfall auch. Nur wenn ich das DOS Programm am laufen habe, von dem ich die Screenshots benötige, wird nur ein schwarzes Bitmap abgespeichert. Hat da jemand einen Lösungsvorschlag?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/145343/screenshot</link><generator>RSS for Node</generator><lastBuildDate>Wed, 05 Aug 2026 06:14:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/145343.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 27 Apr 2006 06:54:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Screenshot on Thu, 27 Apr 2006 06:54:03 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich habe folgendes Problem. Die Aufgabe einer Semsterarbeit beseht darin, eine Anleitung für ein DOS Programm zuschreiben. Nun wäre es sehr angenehm, wenn es eine Möglichkeit gäbe Screenshots zu erstellen. Da die Taste deaktiviert ist, habe ich ein kleines Programm geschrieben in dem ich die Methoden der FAQ ausprobiert habe, funktioniert im Normalfall auch. Nur wenn ich das DOS Programm am laufen habe, von dem ich die Screenshots benötige, wird nur ein schwarzes Bitmap abgespeichert. Hat da jemand einen Lösungsvorschlag?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1046123</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1046123</guid><dc:creator><![CDATA[wedmer]]></dc:creator><pubDate>Thu, 27 Apr 2006 06:54:03 GMT</pubDate></item><item><title><![CDATA[Reply to Screenshot on Thu, 27 Apr 2006 07:17:03 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Wenn ich die Eingabeaufforderung (cmd) offen habe, kann ich mit der Druck-Taste sehr wohl einen vollständigen Screenshot machen, also sollte auch die FAQ-Lösung laufen.<br />
Schau doch mal im Netz nach Freeware-Programm für Screenshots.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1046137</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1046137</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 27 Apr 2006 07:17:03 GMT</pubDate></item><item><title><![CDATA[Reply to Screenshot on Thu, 27 Apr 2006 07:58:17 GMT]]></title><description><![CDATA[<p>Erstmal Danke für die schnelle Antwort.</p>
<p>Wenn ich nur das cmd ausführe, dann funktioniert die Methode einwandfrei, blos bei dem zu dokumtierenden Programm nicht. Wenn ich das Prgramm starte wird es im Vollbildmodus gestartet. Ich habe auch scho versucht mit ALT+ENTER das Programm in den Fenstermodus zu bringen, doch dann wird es leider nur minimiert, aber ich bringe es nicht in den Fenstermodus. Freeware Screenshot Programme habe ich auch schon versucht, doch der Shortcut um den Screenshot auzulösen ist deaktiviert, sobald mein Programm den Focus hat. Ich habe auch ein anders gefunden das ohne Shortcut funktioniert, doch leider war auch da das Erbegins ein schwarzes Viereck.</p>
<p>[Edit]<br />
Ich habe mir gedacht, ob es ne Möglichkeit gibt direkt den Speicherinhalt der Grafikkarte auszulesen und dann in einem bmp abzuspeichern?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1046153</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1046153</guid><dc:creator><![CDATA[wedmer]]></dc:creator><pubDate>Thu, 27 Apr 2006 07:58:17 GMT</pubDate></item><item><title><![CDATA[Reply to Screenshot on Thu, 27 Apr 2006 10:34:31 GMT]]></title><description><![CDATA[<p>Sieh dir dazu doch mal aus der FAQ nochmal die Sache mit Tasten Systemweit abfangen an (Am besten Version 2 RegisterHotkey).<br />
Dann fängst du das Drücken von z.B. einer F-Taste ab, und erzeugst deinen Screenshot.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1046227</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1046227</guid><dc:creator><![CDATA[ScShooter]]></dc:creator><pubDate>Thu, 27 Apr 2006 10:34:31 GMT</pubDate></item><item><title><![CDATA[Reply to Screenshot on Fri, 28 Apr 2006 19:17:08 GMT]]></title><description><![CDATA[<p>@ScShooter</p>
<p>Wenn ich die Taste abfange, müsste ich sie ja anschliessend an das Screenshot Programm weiter leiten, die Möglichkeit die ich kenne um dies zu bewerkstelligen wäre folgende:</p>
<pre><code class="language-cpp">HWND hwnd = ScreenshotHandle;
if(IsWindow(hwnd))
{
   SetForegroundWindow(hwnd);
   keybd_event(VK_F3, 0, 0, 0);
   keybd_event(VK_F3, 0, KEYEVENTF_KEYUP, 0);
}
</code></pre>
<p>Das Problem ist nun, dass mit <strong>SetForegroundWindow</strong> das Screenshot Programm zum aktiven Fenster würde, wodurch sich das zu dokumentierende Programm minimiert, und der Screenshot würde von allem anderen, nur nicht vom gewünschten erzeugt werden...</p>
<p>Ich denke ich werde dann doch die primitive Lösung mit der Digicam nehmen. Diese ist zwar nicht befriedigend, funktioniert dafür 100%</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1047338</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1047338</guid><dc:creator><![CDATA[wedmer]]></dc:creator><pubDate>Fri, 28 Apr 2006 19:17:08 GMT</pubDate></item><item><title><![CDATA[Reply to Screenshot on Sat, 29 Apr 2006 10:22:34 GMT]]></title><description><![CDATA[<p><a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39144.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-39144.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1047570</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1047570</guid><dc:creator><![CDATA[ScShooter]]></dc:creator><pubDate>Sat, 29 Apr 2006 10:22:34 GMT</pubDate></item><item><title><![CDATA[Reply to Screenshot on Sat, 29 Apr 2006 14:09:20 GMT]]></title><description><![CDATA[<p>Okay, werde das mal genauer betrachten, obwohl ich nicht sehr optimistisch bin, dass die freeware Screenshots Porgramme, den Screenshot erstellen können und nicht auch ein schwarzes Fenster zurückgebe...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1047766</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1047766</guid><dc:creator><![CDATA[wedmer]]></dc:creator><pubDate>Sat, 29 Apr 2006 14:09:20 GMT</pubDate></item><item><title><![CDATA[Reply to Screenshot on Sat, 29 Apr 2006 14:13:02 GMT]]></title><description><![CDATA[<p>Entweder stehe ich Momentan ziemlich auf dem Schlauch, oder aber der Link beschreibt nur wie ich die Hotkeys abfange und nicht an eine externe Anwendung weiterleite?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1047775</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1047775</guid><dc:creator><![CDATA[wedmer]]></dc:creator><pubDate>Sat, 29 Apr 2006 14:13:02 GMT</pubDate></item><item><title><![CDATA[Reply to Screenshot on Sat, 29 Apr 2006 14:33:04 GMT]]></title><description><![CDATA[<p><a href="http://www.marquardtnet.info/cecke/dlls.3/3_chhook.html" rel="nofollow">http://www.marquardtnet.info/cecke/dlls.3/3_chhook.html</a></p>
<p>probier das, wenn du mit dem anderen nicht klar kommst</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1047789</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1047789</guid><dc:creator><![CDATA[Christian211]]></dc:creator><pubDate>Sat, 29 Apr 2006 14:33:04 GMT</pubDate></item><item><title><![CDATA[Reply to Screenshot on Sat, 29 Apr 2006 17:08:50 GMT]]></title><description><![CDATA[<p>Was willst du an eine externe Anwendung leiten ?<br />
Innerhalb von 2 Minuten aus der FAQ zusammenkopiert.<br />
Brauchst nurnoch das Speichern bzw. Drucken des Bildes einfügen und fertig.</p>
<p>Unit1.h</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include &lt;Classes.hpp&gt;
#include &lt;Controls.hpp&gt;
#include &lt;StdCtrls.hpp&gt;
#include &lt;Forms.hpp&gt;
#include &lt;ExtCtrls.hpp&gt;
#include &lt;Dialogs.hpp&gt;
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:	// Von der IDE verwaltete Komponenten
   TScrollBox *ScrollBox1;
   TImage *Image1;
   TSaveDialog *SaveDialog1;
   void __fastcall FormCreate(TObject *Sender);
   void __fastcall FormDestroy(TObject *Sender);
private:	// Anwender-Deklarationen
unsigned int HotKeyIdentifier_uint;
unsigned int HotKeyModifier_uint;
void __fastcall WMHotKey(TMessage &amp;Msg);
public:		// Anwender-Deklarationen
   __fastcall TForm1(TComponent* Owner);
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_HOTKEY, TMessage, WMHotKey)
END_MESSAGE_MAP(TForm)
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
</code></pre>
<p>Unit1.cpp</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------

#include &lt;vcl.h&gt;
#pragma hdrstop

#include &quot;Unit1.h&quot;
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource &quot;*.dfm&quot;
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
   : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
HotKeyIdentifier_uint = GlobalAddAtom(&quot;F3-Hotkey&quot;);
HotKeyModifier_uint = 0; 
RegisterHotKey(Handle, HotKeyIdentifier_uint, HotKeyModifier_uint, VK_F3); //Hotkey registrieren.   
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormDestroy(TObject *Sender)
{
UnregisterHotKey(Handle, HotKeyIdentifier_uint); //HotKey löschen 
GlobalDeleteAtom(HotKeyIdentifier_uint);         //HotKey Identifier löschen
}
//---------------------------------------------------------------------------
void __fastcall TForm1::WMHotKey(TMessage &amp;Msg) 
{ 
    TForm::Dispatch(&amp;Msg);
    TCanvas* canvas = new TCanvas(); 
    canvas-&gt;Handle = GetWindowDC(GetDesktopWindow());
    TRect Dest = Image1-&gt;ClientRect;
    TRect Source; 
    GetWindowRect(GetDesktopWindow(), (LPRECT)&amp;Source);
    Source = Rect(0, 0, Source.Right - Source.Left, Source.Bottom - Source.Top);
    Image1-&gt;Canvas-&gt;CopyRect(Dest, canvas, Source);
    delete canvas;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1047911</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1047911</guid><dc:creator><![CDATA[ScShooter]]></dc:creator><pubDate>Sat, 29 Apr 2006 17:08:50 GMT</pubDate></item><item><title><![CDATA[Reply to Screenshot on Mon, 01 May 2006 06:55:15 GMT]]></title><description><![CDATA[<p>Okay, wie ich sehe haben wir nun ein verständnis Problem. Das Problem liegt grundsätzlich darin, dass ich einen Screenshot erzeugen muss, von einem MS-DOS Programm, welches sich nicht im Fenstermodus starten lässt. Wenn ich mit den in der FAQ beschriebenen Methoden einen Screenshot erzeuge erhalte ich nur ein schwarzes Rechteck. Es geht hier nicht darum Tasten systemweit abzufangen. Dies wäre bloss eine Alternative gewesen, um ein Freeware Screenshot Programm einzusätzen und den Shortcat an dieses weiterzuleiten, da bei den Screenshot bis Programm die ich bis jetzt versucht habe, der shortcut durch das DOS Programm deaktiviert wird.<br />
Kurz: es geht hier um das erzeugen eines Screenshots, der bei einer MS-DOS Anwendung nicht nur eine bildschirmgrosses schwarz gefülltes Rechteck liefert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1048703</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1048703</guid><dc:creator><![CDATA[wedmer]]></dc:creator><pubDate>Mon, 01 May 2006 06:55:15 GMT</pubDate></item></channel></rss>