Frage : AutoPlay in Windows (XP und nachher) mit C++ annullieren

O.S. : Windows Xp und up
Language: C++

Hey Kerle, stelle ich einen Antrag, der auf einem mehrfachen DVD Satz ausgesendet wird. Das ganzes DVDs hat ihre eigene autorun.inf Akte (kann dieses nicht ändern) und sobald das Programm gestartet wird, erfordert es unterschiedliches DVDs eingesetzt zu werden. Dieses wirft die nicht annehmbare Störung des Habens des autoplay Durchlaufes für jedes DVD auf. Ich weiß, dass Windows eine Weise liefert, dieses ( http://msdn.microsoft.com /en-us/library/cc144204%28VS.85%29.aspx) zu annullieren, aber ich unsicher bin, wie man dieses verwendet (ich bin nicht mit C++ zu vertraut).

Just das erste Teil über das Registrieren des Fenster messages
uMessage = des RegisterWindowMessage (TEXT („QueryCancelAutoPlay“ kopierend));
provides eine Kompilationsstörung der Verfehlung einer Art. Ich bin unsicher, was die Art sein würde, oder wenn ich irgendein #include oder Hauptbibliothek verfehle. Auch das folgende Teil des zur Verfügung gestellten Codes:

UINT g_uQueryCancelAutoPlay = 0;

BOOL DialogProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
Schalter (uMsg)
{

Rückstellung:
wenn (! g_uQueryCancelAutoPlay)
{
g_uQueryCancelAutoPlay = RegisterWindowMessage (TEXT („QueryCancelAutoPlay“));
}
wenn (uMsg == g_uQueryCancelAutoPlay)
{
SetWindowLong (hDlg, DWL_MSGRESULT, RICHTEN aus);          
Rückkehr 1;              
}
}
}

does nicht Arbeit mit den“… „und undefined „hDlg "

Any Vorschlägen auf, wie man dieses in ein Projekt einführt (oder in andere Ideen, das Register ist zu ändern nicht genau meine beste Wahl, mit der immer anwesenden Wahrscheinlichkeit des In der Lage seins nicht zu versichern umsanderte den Schlüssel)? Meine Entschuldigungen für mein ineptitude.

Thanks im Voraus!

Antwort : AutoPlay in Windows (XP und nachher) mit C++ annullieren

Hallo j_willy,

in welcher Art der Anwendung benötigen Sie dieses? Mit Kraftstoffregler oder außen? Wenn Kraftstoffregler, ein Dialog, SDI oder MDI?

I.e. wenn er für eine Kraftstoffregler-Dialoganwendung ist, ist es ziemlich einfach. Eine Linie wie dieses nahe einfach hinzufügen die Oberseite (aber mindestens unterhalb des „#include „stdafx.h“ ") der Implementierungsakte des Dialogs:

    UINT g_uQueryCancelAutoPlay = RegisterWindowMessage (TEXT („QueryCancelAutoPlay“));

Einen Message-Handler für diese Mitteilung, indem Sie eine Eintragung dem Dialognachrichtdiagramm dann hinzufügen, hinzufügen hinzufügen d.h., dieses irgendwo zwischen „BEGIN_MESSAGE_MAP“ und „END_MESSAGE_MAP“:

    ON_REGISTERED_MESSAGE (g_uQueryCancelAutoPlay, OnQueryCancelAutoPlay)

Ein Funktion declararation für diesen Message-Handler in der Dialogkategorienerklärung so hinzufügen:

    afx_msg LANGES OnQueryCancelAutoPlay (WPARAM wParam, LPARAM lParam);

und es so in Ihrem Dialog (hier nehme ich, der Name an dass der Dialogkategorie CTestDlg, ersetzen es durch Ihren Dialogkategoriennamen) irgendwie einführen ist:

    LANGES CTestDlg:: OnQueryCancelAutoPlay (WPARAM wParam, LPARAM lParam)
    {
     Rückkehr 1;
    }


Hoffen, dass Hilfen,

ZOPPO
    }




Weitere Lösungen  
 
programming4us programming4us