CWinApp-Klasse
Die Basisklasse, von der ein Windows-Anwendungsobjekt abgeleitet wird.
Syntax
class CWinApp : public CWinThread
Member
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
CWinApp::CWinApp | Erstellt ein CWinApp -Objekt. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
CWinApp::AddDocTemplate | Fügt eine Dokumentvorlage zur Liste der verfügbaren Dokumentvorlagen der Anwendung hinzu. |
CWinApp::AddToRecentFileList | Fügt der Zuletzt verwendeten Dateiliste (MRU) einen Dateinamen hinzu. |
CWinApp::ApplicationRecoveryCallback | Wird vom Framework aufgerufen, wenn die Anwendung unerwartet beendet wird. |
CWinApp::CloseAllDocuments | Schließt alle geöffneten Dokumente. |
CWinApp::CreatePrinterDC | Erstellt einen Druckergerätekontext. |
CWinApp::D elRegTree | Löscht einen angegebenen Schlüssel und alle zugehörigen Unterschlüssel. |
CWinApp::D oMessageBox | Implementiert AfxMessageBox für die Anwendung. |
CWinApp::D oWaitCursor | Aktiviert und deaktiviert den Wartecursor. |
CWinApp::EnableD2DSupport | Aktiviert die D2D-Unterstützung der Anwendung. Rufen Sie diese Methode vor der Initialisierung des Hauptfensters auf. |
CWinApp::EnableHtmlHelp | Implementiert HTMLHelp für die Anwendung anstelle von WinHelp. |
CWinApp::EnableTaskbarInteraction | Aktiviert die Taskleisteninteraktion. |
CWinApp::ExitInstance | Überschreiben, um zu bereinigen, wenn die Anwendung beendet wird. |
CWinApp::GetApplicationRecoveryParameter | Ruft den Eingabeparameter für die Anwendungswiederherstellungsmethode ab. |
CWinApp::GetApplicationRecoveryPingInterval | Gibt die Zeitspanne zurück, die der Neustart-Manager auf die Rückgabe der Wiederherstellungsrückruffunktion wartet. |
CWinApp::GetApplicationRestartFlags | Gibt die Flags für den Neustart-Manager zurück. |
CWinApp::GetAppRegistryKey | Gibt den Schlüssel für HKEY_CURRENT_USER\"Software"\RegistryKey\ProfileName zurück. |
CWinApp::GetDataRecoveryHandler | Ruft den Datenwiederherstellungshandler für diese Instanz der Anwendung ab. |
CWinApp::GetFirstDocTemplatePosition | Ruft die Position der ersten Dokumentvorlage ab. |
CWinApp::GetHelpMode | Ruft den Typ der Hilfe ab, die von der Anwendung verwendet wird. |
CWinApp::GetNextDocTemplate | Ruft die Position einer Dokumentvorlage ab. Kann rekursiv verwendet werden. |
CWinApp::GetPrinterDeviceDefaults | Ruft die Standardeinstellungen des Druckergeräts ab. |
CWinApp::GetProfileBinary | Ruft Binärdaten aus einem Eintrag in der Anwendung ab. INI-Datei. |
CWinApp::GetProfileInt | Ruft eine ganze Zahl aus einem Eintrag in der Anwendung ab. INI-Datei. |
CWinApp::GetProfileString | Ruft eine Zeichenfolge aus einem Eintrag in der Anwendung ab. INI-Datei. |
CWinApp::GetSectionKey | Gibt den Schlüssel für HKEY_CURRENT_USER\"Software"\RegistryKey\AppName\lpszSection zurück. |
CWinApp::HideApplication | Blendet die Anwendung aus, bevor alle Dokumente geschlossen werden. |
CWinApp::HtmlHelp | Ruft die HTMLHelp Windows-Funktion auf. |
CWinApp::InitInstance | Überschreiben Sie die Initialisierung der Windows-Instanz, z. B. das Erstellen von Fensterobjekten. |
CWinApp::IsTaskbarInteractionEnabled | Gibt an, ob die Windows 7-Taskleisteninteraktion aktiviert ist. |
CWinApp::LoadCursor | Lädt eine Cursorressource. |
CWinApp::LoadIcon | Lädt eine Symbolressource. |
CWinApp::LoadOEMCursor | Lädt einen vordefinierten Windows OEM-Cursor, den die OCR_ Konstanten in WINDOWS.H angeben. |
CWinApp::LoadOEMIcon | Lädt ein vordefiniertes Windows OEM-Symbol, das die OIC_ Konstanten in WINDOWS.H angeben. |
CWinApp::LoadStandardCursor | Lädt einen vordefinierten Windows-Cursor, den die IDC_ Konstanten in WINDOWS.H angeben. |
CWinApp::LoadStandardIcon | Lädt ein vordefiniertes Windows-Symbol, das die IDI_ Konstanten in WINDOWS.H angeben. |
CWinApp::OnDDECommand | Wird vom Framework als Reaktion auf einen DDE-Befehl (Dynamic Data Exchange) aufgerufen. |
CWinApp::OnIdle | Überschreiben, um anwendungsspezifische Leerlaufzeitverarbeitung durchzuführen. |
CWinApp::OpenDocumentFile | Vom Framework aufgerufen, um ein Dokument aus einer Datei zu öffnen. |
CWinApp::P arseCommandLine | Analysiert einzelne Parameter und Flags in der Befehlszeile. |
CWinApp::P reTranslateMessage | Filtert Nachrichten, bevor sie an die Windows-Funktionen TranslateMessage und DispatchMessage verteilt werden. |
CWinApp::P rocessMessageFilter | Fängt bestimmte Nachrichten ab, bevor sie die Anwendung erreichen. |
CWinApp::P rocessShellCommand | Behandelt Befehlszeilenargumente und Flags. |
CWinApp::P rocessWndProcException | Fängt alle unbehandelten Ausnahmen ab, die von den Meldungs- und Befehlshandlern der Anwendung ausgelöst werden. |
CWinApp::Register | Führt eine angepasste Registrierung durch. |
CWinApp::RegisterWithRestartManager | Registriert die Anwendung beim Neustart-Manager. |
CWinApp::ReopenPreviousFilesAtRestart | Bestimmt, ob der Neustart-Manager die Dateien erneut öffnet, die geöffnet wurden, als die Anwendung unerwartet beendet wurde. |
CWinApp::RestartInstance | Behandelt einen vom Neustart-Manager initiierten Anwendungsneustart. |
CWinApp::RestoreAutosavedFilesAtRestart | Bestimmt, ob der Neustart-Manager die automatisch gespeicherten Dateien beim Neustart der Anwendung wiederhergestellt. |
CWinApp::Run | Führt die Standardnachrichtenschleife aus. Überschreiben, um die Nachrichtenschleife anzupassen. |
CWinApp::RunAutomated | Testet die Befehlszeile der Anwendung auf die Option "/Automation ". Veraltet. Verwenden Sie stattdessen den Wert in CCommandLineInfo::m_bRunAutomated nach dem Aufrufen von ParseCommandLine. |
CWinApp::RunEmbedded | Testet die Befehlszeile der Anwendung auf die Option "/Embedding ". Veraltet. Verwenden Sie stattdessen den Wert in CCommandLineInfo::m_bRunEmbedded nach dem Aufrufen von ParseCommandLine. |
CWinApp::SaveAllModified | Fordert den Benutzer auf, alle geänderten Dokumente zu speichern. |
CWinApp::SelectPrinter | Wählt einen Drucker aus, der zuvor von einem Benutzer über ein Druckdialogfeld angegeben wurde. |
CWinApp::SetHelpMode | Legt fest und initialisiert den Typ der Hilfe, die von der Anwendung verwendet wird. |
CWinApp::SupportsApplicationRecovery | Bestimmt, ob der Neustart-Manager eine Anwendung wiederherstellt, die unerwartet beendet wurde. |
CWinApp::SupportsAutosaveAtInterval | Bestimmt, ob der Neustart-Manager dokumente automatisch in regelmäßigen Abständen öffnet. |
CWinApp::SupportsAutosaveAtRestart | Bestimmt, ob der Neustart-Manager beim Neustarten geöffnete Dokumente automatisch gespeichert. |
CWinApp::SupportsRestartManager | Bestimmt, ob die Anwendung den Neustart-Manager unterstützt. |
CWinApp::Unregister | Hebt die Registrierung aller bekannten Elemente auf, die CWinApp vom Objekt registriert werden sollen. |
CWinApp::WinHelp | Ruft die WinHelp Windows-Funktion auf. |
CWinApp::WriteProfileBinary | Schreibt Binärdaten in einen Eintrag in der Anwendung. INI-Datei. |
CWinApp::WriteProfileInt | Schreibt eine ganze Zahl in einen Eintrag in der Anwendung. INI-Datei. |
CWinApp::WriteProfileString | Schreibt eine Zeichenfolge in einen Eintrag in der Anwendung. INI-Datei. |
Geschützte Methoden
Name | Beschreibung |
---|---|
CWinApp::EnableShellOpen | Ermöglicht dem Benutzer das Öffnen von Datendateien aus dem Windows-Datei-Manager. |
CWinApp::LoadStdProfileSettings | Lädt Standard . INI-Dateieinstellungen und aktiviert das MRU-Dateilistenfeature. |
CWinApp::OnContextHelp | Behandelt DIE UMSCHALT+F1-Hilfe innerhalb der Anwendung. |
CWinApp::OnFileNew | Implementiert den Befehl ID_FILE_NEW. |
CWinApp::OnFileOpen | Implementiert den Befehl ID_FILE_OPEN. |
CWinApp::OnFilePrintSetup | Implementiert den Befehl ID_FILE_PRINT_SETUP. |
CWinApp::OnHelp | Verarbeitet die F1-Hilfe in der Anwendung (unter Verwendung des aktuellen Kontexts). |
CWinApp::OnHelpFinder | Behandelt die befehle ID_HELP_FINDER und ID_DEFAULT_HELP. |
CWinApp::OnHelpIndex | Behandelt den befehl ID_HELP_INDEX und stellt ein Standardhilfethema bereit. |
CWinApp::OnHelpUsing | Behandelt den befehl ID_HELP_USING. |
CWinApp::RegisterShellFileTypes | Registriert alle Dokumenttypen der Anwendung beim Windows File Manager. |
CWinApp::SetAppID | Legt die Anwendungsbenutzermodell-ID für die Anwendung explizit fest. Diese Methode sollte aufgerufen werden, bevor dem Benutzer eine Benutzeroberfläche angezeigt wird (der beste Ort ist der Anwendungskonstruktor). |
CWinApp::SetRegistryKey | Bewirkt, dass Anwendungseinstellungen in der Registrierung statt in der Registrierung gespeichert werden. INI-Dateien. |
CWinApp::UnregisterShellFileTypes | Hebt die Registrierung aller Dokumenttypen der Anwendung mit dem Windows-Datei-Manager auf. |
Öffentliche Datenmember
Name | Beschreibung |
---|---|
CWinApp::m_bHelpMode | Gibt an, ob sich der Benutzer im Hilfekontextmodus befindet (in der Regel mit UMSCHALT+F1 aufgerufen). |
CWinApp::m_eHelpType | Gibt den Typ der Hilfe an, die von der Anwendung verwendet wird. |
CWinApp::m_hInstance | Identifiziert die aktuelle Instanz der Anwendung. |
CWinApp::m_lpCmdLine | Verweist auf eine mit Null beendete Zeichenfolge, die die Befehlszeile für die Anwendung angibt. |
CWinApp::m_nCmdShow | Gibt an, wie das Fenster anfangs angezeigt werden soll. |
CWinApp::m_pActiveWnd | Zeigen Sie auf das Hauptfenster der Containeranwendung, wenn ein OLE-Server aktiv ist. |
CWinApp::m_pszAppID | Anwendungsbenutzermodell-ID. |
CWinApp::m_pszAppName | Gibt den Namen der Anwendung an. |
CWinApp::m_pszExeName | Der Modulname der Anwendung. |
CWinApp::m_pszHelpFilePath | Der Pfad zur Hilfedatei der Anwendung. |
CWinApp::m_pszProfileName | Die Anwendung . INI-Dateiname. |
CWinApp::m_pszRegistryKey | Wird verwendet, um den vollständigen Registrierungsschlüssel zum Speichern von Anwendungsprofileinstellungen zu ermitteln. |
Geschützte Datenmember
Name | Beschreibung |
---|---|
CWinApp::m_dwRestartManagerSupportFlags | Flags, die bestimmen, wie sich der Neustart-Manager verhält. |
CWinApp::m_nAutosaveInterval | Die Zeitdauer in Millisekunden zwischen automatischen Speichern. |
CWinApp::m_pDataRecoveryHandler | Zeigen Sie auf den Datenwiederherstellungshandler für die Anwendung. |
Hinweise
Ein Anwendungsobjekt stellt Memberfunktionen zum Initialisieren Der Anwendung (und jeder Instanz davon) und zum Ausführen der Anwendung bereit.
Jede Anwendung, die die Microsoft Foundation-Klassen verwendet, kann nur ein objekt enthalten, das von CWinApp
. Dieses Objekt wird erstellt, wenn andere globale C++-Objekte erstellt werden und bereits verfügbar sind, wenn Windows die WinMain
Funktion aufruft, die von der Microsoft Foundation Class Library bereitgestellt wird. Deklarieren Sie das abgeleitete CWinApp
Objekt auf globaler Ebene.
Wenn Sie eine Anwendungsklasse von CWinApp
dieser ableiten, überschreiben Sie die InitInstance-Memberfunktion , um das Hauptfensterobjekt Ihrer Anwendung zu erstellen.
Zusätzlich zu den CWinApp
Memberfunktionen bietet die Microsoft Foundation Class Library die folgenden globalen Funktionen für den Zugriff auf Ihr CWinApp
Objekt und andere globale Informationen:
AfxGetApp Ruft einen Zeiger auf das
CWinApp
Objekt ab.AfxGetInstanceHandle ruft ein Handle für die aktuelle Anwendungsinstanz ab.
AfxGetResourceHandle ruft ein Handle für die Ressourcen der Anwendung ab.
AfxGetAppName Ruft einen Zeiger auf eine Zeichenfolge ab, die den Namen der Anwendung enthält. Alternativ können
m_pszExeName
Sie bei einem Zeiger auf dasCWinApp
Objekt den Namen der Anwendung abrufen.
Weitere Informationen zur CWinApp
Klasse finden Sie unter CWinApp: Die Anwendungsklasse, einschließlich einer Übersicht über Folgendes:
CWinApp
-abgeleiteter Code, der vom Anwendungs-Assistenten geschrieben wurde.CWinApp
die Rolle in der Ausführungssequenz Ihrer Anwendung.CWinApp
Standardmäßige Memberfunktionsimplementierungen.CWinApp
's key overridables.
Das m_hPrevInstance
Datenelement ist nicht mehr vorhanden. Um festzustellen, ob eine andere Instanz der Anwendung ausgeführt wird, verwenden Sie einen benannten Mutex. Wenn das Öffnen des Mutex fehlschlägt, gibt es keine anderen Instanzen der Ausgeführten Anwendung.
Vererbungshierarchie
CWinApp
Anforderungen
Header: afxwin.h
CWinApp::AddDocTemplate
Rufen Sie diese Memberfunktion auf, um der Liste der verfügbaren Dokumentvorlagen, die die Anwendung verwaltet, eine Dokumentvorlage hinzuzufügen.
void AddDocTemplate(CDocTemplate* pTemplate);
Parameter
pTemplate
Ein Zeiger, der CDocTemplate
hinzugefügt werden soll.
Hinweise
Sie sollten einer Anwendung alle Dokumentvorlagen hinzufügen, bevor Sie RegisterShellFileTypes aufrufen.
Beispiel
// The following code is produced by the Application Wizard when you
// choose the MDI (multiple document interface) option.
CMultiDocTemplate *pDocTemplate;
pDocTemplate = new CMultiDocTemplate(IDR_MYTYPE,
RUNTIME_CLASS(CMyDoc),
RUNTIME_CLASS(CChildFrame), // custom MDI child frame
RUNTIME_CLASS(CMyView));
if (!pDocTemplate)
return FALSE;
AddDocTemplate(pDocTemplate);
CWinApp::AddToRecentFileList
Rufen Sie diese Memberfunktion auf, um der MRU-Dateiliste lpszPathName hinzuzufügen.
virtual void AddToRecentFileList(LPCTSTR lpszPathName);
Parameter
lpszPathName
Der Pfad der Datei.
Hinweise
Sie sollten die LoadStdProfileSettings-Memberfunktion aufrufen, um die aktuelle MRU-Dateiliste zu laden, bevor Sie diese Memberfunktion verwenden.
Das Framework ruft diese Memberfunktion auf, wenn sie eine Datei öffnet oder den Befehl "Speichern unter" ausführt, um eine Datei mit einem neuen Namen zu speichern.
Beispiel
// This adds the pathname c:\temp\test.doc to the top of
// the most recently used (MRU) list in the File menu.
AfxGetApp()->AddToRecentFileList(_T("c:\\temp\\test.doc"));
CWinApp::ApplicationRecoveryCallback
Wird vom Framework aufgerufen, wenn die Anwendung unerwartet beendet wird.
virtual DWORD ApplicationRecoveryCallback(LPVOID lpvParam);
Parameter
lpvParam
[in] Reserviert für zukünftige Verwendung.
Rückgabewert
0, wenn diese Methode erfolgreich ist; nonzero, wenn ein Fehler auftritt.
Hinweise
Wenn Ihre Anwendung den Neustart-Manager unterstützt, ruft das Framework diese Funktion auf, wenn die Anwendung unerwartet beendet wird.
Die Standardimplementierung verwendet ApplicationRecoveryCallback
, um die CDataRecoveryHandler
Liste der aktuell geöffneten Dokumente in der Registrierung zu speichern. Mit dieser Methode werden keine Dateien automatisch gespeichert.
Um das Verhalten anzupassen, überschreiben Sie diese Funktion in einer abgeleiteten CWinApp-Klasse , oder übergeben Sie Ihre eigene Anwendungswiederherstellungsmethode als Parameter an CWinApp::RegisterWithRestartManager.
CWinApp::CloseAllDocuments
Rufen Sie diese Memberfunktion auf, um alle geöffneten Dokumente zu schließen, bevor Sie den Vorgang beenden.
void CloseAllDocuments(BOOL bEndSession);
Parameter
bEndSession
Gibt an, ob die Windows-Sitzung beendet wird. Es ist WAHR, wenn die Sitzung beendet wird; andernfalls FALSE.
Hinweise
Call HideApplication vor dem Aufrufen CloseAllDocuments
.
CWinApp::CreatePrinterDC
Rufen Sie diese Memberfunktion auf, um einen Druckergerätekontext (DC) aus dem ausgewählten Drucker zu erstellen.
BOOL CreatePrinterDC(CDC& dc);
Parameter
dc
Ein Verweis auf einen Druckergerätekontext.
Rückgabewert
Nonzero, wenn der Druckergerätekontext erfolgreich erstellt wird; andernfalls 0.
Hinweise
CreatePrinterDC
initialisiert den Gerätekontext, den Sie per Verweis übergeben, sodass Sie ihn zum Drucken verwenden können.
Wenn die Funktion erfolgreich ist, müssen Sie den Gerätekontext zerstören, wenn Sie den Druck abgeschlossen haben. Sie können den Destruktor des CDC-Objekts ausführen lassen, oder Sie können es explizit tun, indem Sie CDC::D eleteDC aufrufen.
CWinApp::CWinApp
Erstellt ein CWinApp
Objekt und übergibt lpszAppName , der als Anwendungsname gespeichert werden soll.
CWinApp(LPCTSTR lpszAppName = NULL);
Parameter
lpszAppName
Eine mit Null beendete Zeichenfolge, die den von Windows verwendeten Anwendungsnamen enthält. Wenn dieses Argument nicht angegeben wird oder NULL ist, CWinApp
wird die Ressourcenzeichenfolge AFX_IDS_APP_TITLE oder der Dateiname der ausführbaren Datei verwendet.
Hinweise
Sie sollten ein globales Objekt ihrer CWinApp
abgeleiteten Klasse erstellen. Sie können nur ein CWinApp
Objekt in Ihrer Anwendung haben. Der Konstruktor speichert einen Zeiger auf das CWinApp
Objekt, WinMain
sodass die Memberfunktionen des Objekts aufgerufen werden können, um die Anwendung zu initialisieren und auszuführen.
CWinApp::D elRegTree
Löscht einen bestimmten Registrierungsschlüssel und alle zugehörigen Unterschlüssel.
LONG DelRegTree(
HKEY hParentKey,
const CString& strKeyName);
LONG DelRegTree(
HKEY hParentKey,
const CString& strKeyName,
CAtlTransactionManager* pTM = NULL);
Parameter
hParentKey
Behandeln sie einen Registrierungsschlüssel.
strKeyName
Der Name des zu löschenden Registrierungsschlüssels.
pTM
Zeiger auf CAtlTransactionManager-Objekt.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ERROR_SUCCESS. Wenn die Funktion fehlschlägt, ist der Rückgabewert ein nichtzero-Fehlercode, der in Winerror.h definiert ist.
Hinweise
Rufen Sie diese Funktion auf, um den angegebenen Schlüssel und dessen Unterschlüssel zu löschen.
CWinApp::D oMessageBox
Das Framework ruft diese Memberfunktion auf, um ein Meldungsfeld für die globale Funktion AfxMessageBox zu implementieren.
virtual int DoMessageBox(
LPCTSTR lpszPrompt,
UINT nType,
UINT nIDPrompt);
Parameter
lpszPrompt
Adresse des Texts im Meldungsfeld.
nType
Das Nachrichtenfeldformat.
nIDPrompt
Ein Index zu einer Hilfekontextzeichenfolge.
Rückgabewert
Gibt dieselben Werte wie AfxMessageBox
.
Hinweise
Rufen Sie diese Memberfunktion nicht auf, um ein Meldungsfeld zu öffnen. verwenden Sie AfxMessageBox
stattdessen.
Überschreiben Sie diese Memberfunktion, um die anwendungsweite Verarbeitung von AfxMessageBox
Aufrufen anzupassen.
CWinApp::D oWaitCursor
Diese Memberfunktion wird vom Framework aufgerufen, um CWaitCursor, CCmdTarget::BeginWaitCursor, CCmdTarget::EndWaitCursor und CCmdTarget::RestoreWaitCursor zu implementieren.
virtual void DoWaitCursor(int nCode);
Parameter
nCode
Wenn dieser Parameter 1 ist, wird ein Wartecursor angezeigt. Wenn 0, wird der Wartecursor wiederhergestellt, ohne die Verweisanzahl zu erhöhen. Wenn -1, endet der Wartecursor.
Hinweise
Der Standardwert implementiert einen Sanduhrcursor. DoWaitCursor
verwaltet eine Referenzanzahl. Wenn der Cursor positiv ist, wird der Sanduhrcursor angezeigt.
Obwohl Sie diese Memberfunktion normalerweise nicht direkt aufrufen würden, können Sie diese Memberfunktion außer Kraft setzen DoWaitCursor
, um den Wartecursor zu ändern oder weitere Verarbeitungen vorzunehmen, während der Wartecursor angezeigt wird.
Verwenden Sie CWaitCursor
für eine einfachere, optimierte Methode zum Implementieren eines Wartecursors.
Beispiel
// The following example shows how to display the
// hourglass cursor during some lengthy processing
void CMdiView::OnLButtonDown(UINT nFlags, CPoint point)
{
UNREFERENCED_PARAMETER(nFlags);
UNREFERENCED_PARAMETER(point);
AfxGetApp()->DoWaitCursor(1); // 1->>display the hourglass cursor
// do some lengthy processing
Sleep(1000);
AfxGetApp()->DoWaitCursor(-1); // -1->>remove the hourglass cursor
}
// The next example shows DoWaitCursor with parameter 0. It restores
// the hourglass cursor.
void CMdiView::OnMButtonDown(UINT nFlags, CPoint point)
{
UNREFERENCED_PARAMETER(nFlags);
UNREFERENCED_PARAMETER(point);
AfxGetApp()->DoWaitCursor(1); // display the hourglass cursor
// do some lengthy processing
// The message box will normally change the cursor to
// the standard arrow cursor, and leave the cursor in
// as the standard arrow cursor when the message box is
// closed.
AfxMessageBox(_T("DoWaitCursor Sample"));
// Call DoWaitCursor with parameter 0 to restore
// the cursor back to the hourglass cursor.
AfxGetApp()->DoWaitCursor(0);
// do some more lengthy processing
Sleep(1000);
AfxGetApp()->DoWaitCursor(-1); // remove the hourglass cursor
}
CWinApp::EnableD2DSupport
Visual Studio 2010 SP1 wird benötigt.
Aktiviert die D2D-Unterstützung der Anwendung. Rufen Sie diese Methode vor der Initialisierung des Hauptfensters auf.
BOOL EnableD2DSupport(
D2D1_FACTORY_TYPE d2dFactoryType = D2D1_FACTORY_TYPE_SINGLE_THREADED,
DWRITE_FACTORY_TYPE writeFactoryType = DWRITE_FACTORY_TYPE_SHARED);
Parameter
d2dFactoryType
Das Threadingmodell der D2D-Factory und der von ihr erstellten Ressourcen.
writeFactoryType
Ein Wert, der angibt, ob das Schreibfactoryobjekt freigegeben oder isoliert wird
Rückgabewert
Gibt WAHR zurück, wenn die D2D-Unterstützung aktiviert wurde, FALSE - andernfalls
CWinApp::EnableHtmlHelp
Rufen Sie diese Memberfunktion aus dem Konstruktor Ihrer CWinApp
abgeleiteten Klasse auf, um HTMLHelp für die Hilfe Ihrer Anwendung zu verwenden.
void EnableHtmlHelp();
Hinweise
CWinApp::EnableShellOpen
Rufen Sie diese Funktion in der Regel von Ihrer InitInstance
Außerkraftsetzung auf, um benutzern Ihrer Anwendung das Öffnen von Datendateien zu ermöglichen, wenn sie im Windows-Datei-Manager auf die Dateien doppelklicken.
void EnableShellOpen();
Hinweise
Rufen Sie die RegisterShellFileTypes
Memberfunktion in Verbindung mit dieser Funktion auf, oder stellen Sie eine . REG file with your application for manual registration of document types.
Beispiel
// The following code fragment is from CMyApp::InitInstance.
// CMyApp is a CWinApp-derived class.
// enable file manager drag/drop and DDE Execute open
EnableShellOpen();
RegisterShellFileTypes();
CWinApp::EnableTaskbarInteraction
Aktiviert die Taskleisteninteraktion.
BOOL EnableTaskbarInteraction(BOOL bEnable = TRUE);
Parameter
bEnable
Gibt an, ob die Interaktion mit der Windows 7-Taskleiste aktiviert werden soll (TRUE) oder deaktiviert (FALSE).
Rückgabewert
Gibt TRUE zurück, wenn die Taskleisteninteraktion aktiviert oder deaktiviert werden kann.
Hinweise
Diese Methode muss vor der Erstellung des Hauptfensters aufgerufen werden, andernfalls wird FALSE bestätigt und zurückgegeben.
CWinApp::ExitInstance
Wird vom Framework innerhalb der Run
Memberfunktion aufgerufen, um diese Instanz der Anwendung zu beenden
virtual int ExitInstance();
Rückgabewert
Der Ausgangscode der Anwendung; 0 gibt keine Fehler an, und Werte, die größer als 0 sind, deuten auf einen Fehler hin. Dieser Wert wird als Rückgabewert von WinMain
.
Hinweise
Rufen Sie diese Memberfunktion nicht von überall aus, sondern innerhalb der Run
Memberfunktion auf.
Die Standardimplementierung dieser Funktion schreibt Frameworkoptionen in die Anwendung. INI-Datei. Überschreiben Sie diese Funktion, um sie zu bereinigen, wenn die Anwendung beendet wird.
Beispiel
int CMyApp::ExitInstance()
{
if (m_pMySampleMem)
delete m_pMySampleMem;
DoCleanup();
return CWinApp::ExitInstance();
}
CWinApp::GetApplicationRecoveryParameter
Ruft den Eingabeparameter für die Anwendungswiederherstellungsmethode ab.
virtual LPVOID GetApplicationRecoveryParameter();
Rückgabewert
Der Standardeingabeparameter für die Anwendungswiederherstellungsmethode.
Hinweise
Das Standardverhalten dieser Funktion gibt NULL zurück.
Weitere Informationen finden Sie unter CWinApp::ApplicationRecoveryCallback.
CWinApp::GetApplicationRecoveryPingInterval
Gibt die Zeitspanne zurück, die der Neustart-Manager auf die Rückgabe der Wiederherstellungsrückruffunktion wartet.
virtual DWORD GetApplicationRecoveryPingInterval();
Rückgabewert
Die Zeitdauer in Millisekunden.
Hinweise
Wenn eine Anwendung, die beim Neustart-Manager registriert ist, unerwartet beendet wird, versucht die Anwendung, geöffnete Dokumente zu speichern und die Wiederherstellungsrückruffunktion aufzurufen. Die Standardmäßige Wiederherstellungsrückruffunktion ist CWinApp::ApplicationRecoveryCallback.
Die Zeitspanne, die das Framework auf die Zurückgabe der Wiederherstellungsrückruffunktion wartet, ist das Pingintervall. Sie können das Pingintervall anpassen, indem Sie das Pingintervall überschreiben CWinApp::GetApplicationRecoveryPingInterval
oder einen benutzerdefinierten Wert RegisterWithRestartManager
angeben.
CWinApp::GetApplicationRestartFlags
Gibt die Flags für den Neustart-Manager zurück.
virtual DWORD GetApplicationRestartFlags();
Rückgabewert
Die Flags für den Neustart-Manager. Die Standardimplementierung gibt 0 zurück.
Hinweise
Die Flags für den Neustart-Manager haben keine Auswirkungen auf die Standardimplementierung. Sie werden für die zukünftige Nutzung bereitgestellt.
Sie legen die Flags fest, wenn Sie die Anwendung beim Neustart-Manager mithilfe von CWinApp::RegisterWithRestartManager registrieren.
Die möglichen Werte für die Flags des Neustart-Managers sind wie folgt:
RESTART_NO_CRASH
RESTART_NO_HANG
RESTART_NO_PATCH
RESTART_NO_REBOOT
CWinApp::GetAppRegistryKey
Gibt den Schlüssel für HKEY_CURRENT_USER\"Software"\RegistryKey\ProfileName zurück.
HKEY GetAppRegistryKey(CAtlTransactionManager* pTM = NULL);
Parameter
pTM
Zeiger auf ein CAtlTransactionManager
Objekt.
Rückgabewert
Anwendungsschlüssel, wenn die Funktion erfolgreich ist; andernfalls NULL.
Hinweise
CWinApp::GetDataRecoveryHandler
Ruft den Datenwiederherstellungshandler für diese Instanz der Anwendung ab.
virtual CDataRecoveryHandler *GetDataRecoveryHandler();
Rückgabewert
Der Datenwiederherstellungshandler für diese Instanz der Anwendung.
Hinweise
Jede Anwendung, die den Neustart-Manager verwendet, muss über eine Instanz der CDataRecoveryHandler-Klasse verfügen. Diese Klasse ist für die Überwachung von geöffneten Dokumenten und automatisch gespeicherten Dateien verantwortlich. Das Verhalten der CDataRecoveryHandler
Funktion hängt von der Konfiguration des Neustart-Managers ab. Weitere Informationen finden Sie unter CDataRecoveryHandler-Klasse.
Diese Methode gibt NULL auf Früheren Betriebssystemen als Windows Vista zurück. Der Neustart-Manager wird auf Betriebssystemen vor Windows Vista nicht unterstützt.
Wenn die Anwendung derzeit keinen Datenwiederherstellungshandler besitzt, erstellt diese Methode einen und gibt einen Zeiger darauf zurück.
CWinApp::GetFirstDocTemplatePosition
Ruft die Position der ersten Dokumentvorlage in der Anwendung ab.
POSITION GetFirstDocTemplatePosition() const;
Rückgabewert
Ein POSITION-Wert, der für iterations- oder Objektzeigerabrufe verwendet werden kann; NULL, wenn die Liste leer ist.
Hinweise
Verwenden Sie den POSITION-Wert, der in einem Aufruf von GetNextDocTemplate zurückgegeben wird, um das erste CDocTemplate -Objekt abzurufen.
CWinApp::GetHelpMode
Ruft den Typ der Hilfe ab, die von der Anwendung verwendet wird.
AFX_HELP_TYPE GetHelpMode();
Rückgabewert
Der von der Anwendung verwendete Hilfetyp. Weitere Informationen finden Sie unter CWinApp::m_eHelpType .
CWinApp::GetNextDocTemplate
Ruft die von Pos identifizierte Dokumentvorlage ab und legt dann pos auf den POSITION-Wert fest.
CDocTemplate* GetNextDocTemplate(POSITION& pos) const;
Parameter
pos
Ein Verweis auf einen POSITION-Wert, der von einem vorherigen Aufruf GetNextDocTemplate
oder GetFirstDocTemplatePosition zurückgegeben wird. Der Wert wird durch diesen Aufruf auf die nächste Position aktualisiert.
Rückgabewert
Ein Zeiger auf ein CDocTemplate -Objekt.
Hinweise
Sie können in einer Vorwärts iterationsschleife verwenden GetNextDocTemplate
, wenn Sie die Anfangsposition mit einem Aufruf einrichten GetFirstDocTemplatePosition
.
Sie müssen sicherstellen, dass Ihr POSITION-Wert gültig ist. Wenn sie ungültig ist, wird die Debugversion der Microsoft Foundation-Klassenbibliothek bestätigt.
Wenn die abgerufene Dokumentvorlage die letzte verfügbare ist, wird der neue Wert von Pos auf NULL festgelegt.
CWinApp::GetPrinterDeviceDefaults
Rufen Sie diese Memberfunktion auf, um einen Druckergerätekontext für das Drucken vorzubereiten.
BOOL GetPrinterDeviceDefaults(struct tagPDA* pPrintDlg);
Parameter
pPrintDlg
Ein Zeiger auf eine PRINTDLG-Struktur .
Rückgabewert
Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).
Hinweise
Ruft die aktuellen Druckerstandardwerte von Windows ab. INI-Datei bei Bedarf oder verwendet die letzte vom Benutzer in der Druckeinrichtung festgelegte Druckerkonfiguration.
Beispiel
void CMyApp::SetLandscapeMode()
{
PRINTDLG pd;
pd.lStructSize = (DWORD)sizeof(PRINTDLG);
BOOL bRet = GetPrinterDeviceDefaults(&pd);
if (bRet)
{
// protect memory handle with ::GlobalLock and ::GlobalUnlock
DEVMODE FAR *pDevMode = (DEVMODE FAR*)::GlobalLock(pd.hDevMode);
// set orientation to landscape
pDevMode->dmOrientation = DMORIENT_LANDSCAPE;
::GlobalUnlock(pd.hDevMode);
}
}
CWinApp::GetProfileBinary
Rufen Sie diese Memberfunktion auf, um Binärdaten aus einem Eintrag in einem bestimmten Abschnitt der Registrierung der Anwendung oder . INI-Datei.
BOOL GetProfileBinary(
LPCTSTR lpszSection,
LPCTSTR lpszEntry,
LPBYTE* ppData,
UINT* pBytes);
Parameter
lpszSection
Zeigt auf eine auf NULL endende Zeichenfolge, die den Abschnitt mit dem Eintrag angibt.
lpszEntry
Zeigt auf eine auf NULL endende Zeichenfolge, die den Eintrag mit dem abzurufenden Wert enthält.
ppData
Verweist auf einen Zeiger, der die Adresse der Daten empfängt.
pBytes
Verweist auf einen UINT, der die Größe der Daten (in Byte) erhält.
Rückgabewert
Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).
Hinweise
Bei dieser Memberfunktion wird die Groß-/Kleinschreibung nicht beachtet, daher können sich die Zeichenfolgen in den Parametern lpszSection und lpszEntry im Fall unterscheiden.
Hinweis
GetProfileBinary
weist einen Puffer zu und gibt seine Adresse in * ppData zurück. Der Aufrufer ist für das Freigeben des Puffers mithilfe von "[]" verantwortlich.
Wichtig
Die von dieser Funktion zurückgegebenen Daten enden nicht notwendigerweise auf NULL, und der Aufrufer muss die Validierung ausführen. Weitere Informationen finden Sie unter Vermeiden von Pufferüberläufen.
Beispiel
CWinApp* pApp = AfxGetApp();
const TCHAR* pszKey = _T("My Section");
struct complex {
double re, im;
} myData = { 1.4142, -0.5 };
// Write the information to the registry.
pApp->WriteProfileBinary(pszKey, _T("ComplexData"), (LPBYTE)&myData,
sizeof(myData));
// Read the information from the registry.
complex* pData;
UINT n;
BOOL ret = pApp->GetProfileBinary(pszKey, _T("ComplexData"), (LPBYTE*)&pData,
&n);
ASSERT(ret);
ASSERT(n == sizeof(complex));
ASSERT(myData.re == pData->re);
ASSERT(myData.im == pData->im);
delete [] pData; // free the buffer
Ein weiteres Beispiel finden Sie unter "CWinApp::WriteProfileBinary".
CWinApp::GetProfileInt
Rufen Sie diese Memberfunktion auf, um den Ganzzahlwert aus einem Eintrag in einem angegebenen Abschnitt der Registrierung oder der INI-Datei einer Anwendung abzurufen.
UINT GetProfileInt(
LPCTSTR lpszSection,
LPCTSTR lpszEntry,
int nDefault);
Parameter
lpszSection
Zeigt auf eine auf NULL endende Zeichenfolge, die den Abschnitt mit dem Eintrag angibt.
lpszEntry
Zeigt auf eine auf NULL endende Zeichenfolge, die den Eintrag mit dem abzurufenden Wert enthält.
nDefault
Gibt den zurückzugebenden Standardwert an, wenn der Eintrag vom Framework nicht gefunden werden kann.
Rückgabewert
Der dem bei erfolgreicher Funktion angegebene Eintrag folgende Ganzzahlwert der Zeichenfolge. Der Rückgabewert ist der Wert des nDefault-Parameters , wenn die Funktion den Eintrag nicht findet. Der Rückgabewert ist null (0), wenn der dem angegebenen Eintrag entsprechende Wert keine ganze Zahl ist.
Diese Memberfunktion unterstützt Hexadezimalnotation für den Wert in der INI-Datei. Wenn Sie eine signierte ganze Zahl abrufen, sollten Sie den Wert in einen int
.
Hinweise
Bei dieser Memberfunktion wird die Groß-/Kleinschreibung nicht beachtet, daher können sich die Zeichenfolgen in den Parametern lpszSection und lpszEntry im Fall unterscheiden.
Wichtig
Die von dieser Funktion zurückgegebenen Daten enden nicht notwendigerweise auf NULL, und der Aufrufer muss die Validierung ausführen. Weitere Informationen finden Sie unter Vermeiden von Pufferüberläufen.
Beispiel
CWinApp *pApp = AfxGetApp();
const TCHAR *pszKey = _T("My Section");
const TCHAR *pszName = _T("Julian");
int iAge = 26;
// Write the information to the registry.
pApp->WriteProfileString(pszKey, _T("Name"), pszName);
pApp->WriteProfileInt(pszKey, _T("Age"), iAge);
// Read the information from the registry.
CString strName = pApp->GetProfileString(pszKey, _T("Name"));
int iAge2 = pApp->GetProfileInt(pszKey, _T("Age"), 0);
ASSERT(strName == pszName);
ASSERT(iAge2 == iAge);
Ein weiteres Beispiel finden Sie unter "CWinApp::WriteProfileInt".
CWinApp::GetProfileString
Rufen Sie diese Memberfunktion auf, um die Zeichenfolge abzurufen, die einem Eintrag innerhalb des angegebenen Abschnitts in der Registrierung der Anwendung zugeordnet ist. INI-Datei.
CString GetProfileString(
LPCTSTR lpszSection,
LPCTSTR lpszEntry,
LPCTSTR lpszDefault = NULL);
Parameter
lpszSection
Zeigt auf eine auf NULL endende Zeichenfolge, die den Abschnitt mit dem Eintrag angibt.
lpszEntry
Verweist auf eine mit Null beendete Zeichenfolge, die den Eintrag enthält, dessen Zeichenfolge abgerufen werden soll. Dieser Wert darf nicht NULL sein.
lpszDefault
Verweist auf den Standardzeichenfolgenwert für den angegebenen Eintrag, wenn der Eintrag in der Initialisierungsdatei nicht gefunden werden kann.
Rückgabewert
Der Rückgabewert ist die Zeichenfolge aus der Anwendung. INI-Datei oder lpszDefault , wenn die Zeichenfolge nicht gefunden werden kann. Die vom Framework unterstützte maximale Zeichenfolgenlänge ist _MAX_PATH. Wenn lpszDefault NULL ist, ist der Rückgabewert eine leere Zeichenfolge.
Hinweise
Wichtig
Die von dieser Funktion zurückgegebenen Daten enden nicht notwendigerweise auf NULL, und der Aufrufer muss die Validierung ausführen. Weitere Informationen finden Sie unter Vermeiden von Pufferüberläufen.
Beispiel
CWinApp *pApp = AfxGetApp();
CString strSection = _T("My Section");
CString strStringItem = _T("My String Item");
CString strIntItem = _T("My Int Item");
pApp->WriteProfileString(strSection, strStringItem, _T("test"));
CString strValue;
strValue = pApp->GetProfileString(strSection, strStringItem);
ASSERT(strValue == _T("test"));
pApp->WriteProfileInt(strSection, strIntItem, 1234);
int nValue;
nValue = pApp->GetProfileInt(strSection, strIntItem, 0);
ASSERT(nValue == 1234);
Ein weiteres Beispiel finden Sie im Beispiel für CWinApp::GetProfileInt.
CWinApp::GetSectionKey
Gibt den Schlüssel für HKEY_CURRENT_USER\"Software"\RegistryKey\AppName\lpszSection zurück.
HKEY GetSectionKey(
LPCTSTR lpszSection,
CAtlTransactionManager* pTM = NULL);
Parameter
lpszSection
Der Name des zu erhaltenden Schlüssels.
pTM
Zeiger auf ein CAtlTransactionManager
Objekt.
Rückgabewert
Abschnittsschlüssel, wenn die Funktion erfolgreich ist; andernfalls NULL.
Hinweise
CWinApp::HideApplication
Rufen Sie diese Memberfunktion auf, um eine Anwendung auszublenden, bevor Sie die geöffneten Dokumente schließen.
void HideApplication();
CWinApp::HtmlHelp
Rufen Sie diese Memberfunktion auf, um die HTMLHelp-Anwendung aufzurufen.
virtual void HtmlHelp(
DWORD_PTR dwData,
UINT nCmd = 0x000F);
Parameter
dwData
Gibt zusätzliche Daten an. Der verwendete Wert hängt vom Wert des nCmd-Parameters ab. Dies 0x000F
bedeutet standardmäßig HH_HELP_CONTEXT.
nCmd
Gibt den Typ der angeforderten Hilfe an. Eine Liste der möglichen Werte und deren Auswirkungen auf den dwData-Parameter finden Sie im uCommand-Parameter, der in den HtmlHelpW- oder HtmlHelpA-API-Funktionen im Windows SDK beschrieben ist.
Hinweise
Das Framework ruft diese Funktion auch auf, um die HTMLHelp-Anwendung aufzurufen.
Das Framework schließt die HTMLHelp-Anwendung automatisch, wenn Ihre Anwendung beendet wird.
CWinApp::InitInstance
Windows ermöglicht die gleichzeitige Ausführung mehrerer Kopien desselben Programms.
virtual BOOL InitInstance();
Rückgabewert
Nonzero, wenn die Initialisierung erfolgreich ist; andernfalls 0.
Hinweise
Die Anwendungsinitialisierung ist konzeptionell in zwei Abschnitte unterteilt: einmalige Anwendungsinitialisierung, die beim ersten Ausführen des Programms durchgeführt wird, und Instanzinitialisierung, die bei jeder Ausführung einer Kopie des Programms ausgeführt wird, einschließlich des ersten Mal. Die Implementierung des Frameworks ruft WinMain
diese Funktion auf.
Überschreiben InitInstance
Sie, um jede neue Instanz Ihrer Anwendung zu initialisieren, die unter Windows ausgeführt wird. In der Regel überschreiben InitInstance
Sie das Erstellen des Hauptfensterobjekts, und legen Sie das CWinThread::m_pMainWnd
Datenelement so fest, dass es auf dieses Fenster zeigt. Weitere Informationen zum Überschreiben dieser Memberfunktion finden Sie unter "CWinApp: The Application Class".
Hinweis
MFC-Anwendungen müssen als Singlethread-Apartment (STA) initialisiert werden. Wenn Sie "CoInitializeEx" in Ihrer InitInstance
Außerkraftsetzung aufrufen, geben Sie COINIT_APARTMENTTHREADED an (statt COINIT_MULTITHREADED).
Beispiel
// AppWizard implements the InitInstance overridable function
// according to options you select. For example, the multiple document
// interface (MDI) option was chosen for the AppWizard code created
// below. You can add other per-instance initializations to the code
// created by AppWizard.
BOOL CMFCListViewApp::InitInstance()
{
AfxSetAmbientActCtx(FALSE);
// Remainder of function definition omitted.
CWinApp::InitInstance();
// Initialize OLE libraries
if (!AfxOleInit())
{
AfxMessageBox(_T("OleInit failed."));
return FALSE;
}
// Standard initialization
// If you are not using these features and wish to reduce the size
// of your final executable, you should remove from the following
// the specific initialization routines you do not need
// Change the registry key under which our settings are stored
// TODO: You should modify this string to be something appropriate
// such as the name of your company or organization
SetRegistryKey(_T("Local AppWizard-Generated Applications"));
LoadStdProfileSettings(4); // Load standard INI file options (including MRU)
// Register the application's document templates. Document templates
// serve as the connection between documents, frame windows and views
CMultiDocTemplate* pDocTemplate;
pDocTemplate = new CMultiDocTemplate(IDR_MFCListViewTYPE,
RUNTIME_CLASS(CMFCListViewDoc),
RUNTIME_CLASS(CChildFrame), // custom MDI child frame
RUNTIME_CLASS(CMyListView));
if (!pDocTemplate)
return FALSE;
AddDocTemplate(pDocTemplate);
// create main MDI Frame window
CMainFrame* pMainFrame = new CMainFrame;
if (!pMainFrame || !pMainFrame->LoadFrame(IDR_MAINFRAME))
{
delete pMainFrame;
return FALSE;
}
m_pMainWnd = pMainFrame;
// call DragAcceptFiles only if there's a suffix
// In an MDI app, this should occur immediately after setting m_pMainWnd
// Parse command line for standard shell commands, DDE, file open
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
// Dispatch commands specified on the command line. Will return FALSE if
// app was launched with /RegServer, /Register, /Unregserver or /Unregister.
if (!ProcessShellCommand(cmdInfo))
return FALSE;
// The main window has been initialized, so show and update it
pMainFrame->ShowWindow(m_nCmdShow);
pMainFrame->UpdateWindow();
return TRUE;
}
CWinApp::IsTaskbarInteractionEnabled
Gibt an, ob die Windows 7-Taskleisteninteraktion aktiviert ist.
virtual BOOL IsTaskbarInteractionEnabled();
Rückgabewert
Gibt TRUE zurück, wenn EnableTaskbarInteraction
sie aufgerufen wurde und das Betriebssystem Windows 7 oder höher ist.
Hinweise
Die Interaktion auf der Taskleiste bedeutet, dass die MDI-Anwendung den Inhalt von untergeordneten MDI-Elementen in separaten Miniaturansichten im Registerkartenformat anzeigt, die angezeigt werden, wenn der Mauszeiger auf der Taskleistenschaltfläche angezeigt wird.
CWinApp::LoadCursor
Lädt die Cursorressource mit dem Namen lpszResourceName oder angegeben durch nIDResource aus der aktuellen ausführbaren Datei.
HCURSOR LoadCursor(LPCTSTR lpszResourceName) const; HCURSOR LoadCursor(UINT nIDResource) const;
Parameter
lpszResourceName
Verweist auf eine mit Null beendete Zeichenfolge, die den Namen der Cursorressource enthält. Sie können ein CString
Argument für dieses Argument verwenden.
nIDResource
ID der Cursorressource. Eine Liste der Ressourcen finden Sie unter LoadCursor im Windows SDK.
Rückgabewert
Ein Handle für einen Cursor bei erfolgreicher Ausführung; andernfalls NULL.
Hinweise
LoadCursor
lädt den Cursor nur dann in den Arbeitsspeicher, wenn er noch nicht geladen wurde. andernfalls wird ein Handle der vorhandenen Ressource abgerufen.
Verwenden Sie die LoadStandardCursor - oder LoadOEMCursor-Memberfunktion , um auf die vordefinierten Windows-Cursor zuzugreifen.
Beispiel
HCURSOR hCursor;
// Load a cursor resource that was originally created using
// the Graphics Editor and assigned the i.d. IDC_MYCURSOR.
hCursor = AfxGetApp()->LoadCursor(IDC_MYCURSOR);
CWinApp::LoadIcon
Lädt die Von lpszResourceName benannte Symbolressource oder wird von nIDResource aus der ausführbaren Datei angegeben.
HICON LoadIcon(LPCTSTR lpszResourceName) const; HICON LoadIcon(UINT nIDResource) const;
Parameter
lpszResourceName
Verweist auf eine mit Null beendete Zeichenfolge, die den Namen der Symbolressource enthält. Sie können auch ein CString
Argument für dieses Argument verwenden.
nIDResource
ID-Nummer der Symbolressource.
Rückgabewert
Ein Ziehpunkt für ein Symbol bei erfolgreicher Ausführung; andernfalls NULL.
Hinweise
LoadIcon
lädt das Symbol nur, wenn es noch nicht geladen wurde. andernfalls wird ein Handle der vorhandenen Ressource abgerufen.
Sie können die LoadStandardIcon - oder LoadOEMIcon-Memberfunktion verwenden, um auf die vordefinierten Windows-Symbole zuzugreifen.
Hinweis
Diese Memberfunktion ruft die Win32-API-Funktion LoadIcon auf, die nur ein Symbol laden kann, dessen Größe den SM_CXICON und SM_CYICON Systemmetrikwerten entspricht.
CWinApp::LoadOEMCursor
Lädt die durch nIDCursor angegebene Windows-vordefinierte Cursorressource.
HCURSOR LoadOEMCursor(UINT nIDCursor) const;
Parameter
nIDCursor
Ein OCR_ Manifestkonstantenbezeichner, der einen vordefinierten Windows-Cursor angibt. Sie müssen vor #include \<afxwin.h>
dem Zugriff auf die OCR_ Konstanten in WINDOWS.H verfügen#define OEMRESOURCE
.
Rückgabewert
Ein Handle für einen Cursor bei erfolgreicher Ausführung; andernfalls NULL.
Hinweise
Verwenden Sie die LoadOEMCursor
Memberfunktion " LoadStandardCursor ", um auf die vordefinierten Windows-Cursor zuzugreifen.
Beispiel
// In the stdafx.h file, add #define OEMRESOURCE to
// include the windows.h definitions of OCR_ values.
#define OEMRESOURCE
#include <afxwin.h> // MFC core and standard components
#include <afxext.h> // MFC extensions
HCURSOR hCursor;
// Load the predefined WIndows "size all" cursor.
hCursor = AfxGetApp()->LoadOEMCursor(OCR_SIZEALL);
CWinApp::LoadOEMIcon
Lädt die durch nIDIcon angegebene Windows-vordefinierte Symbolressource.
HICON LoadOEMIcon(UINT nIDIcon) const;
Parameter
nIDIcon
Ein OIC_ Manifestkonstantenbezeichner, der ein vordefiniertes Windows-Symbol angibt. Sie müssen vor dem #include \<afxwin.h>
Zugriff auf die OIC_ Konstanten in WINDOWS.H verfügen#define OEMRESOURCE
.
Rückgabewert
Ein Ziehpunkt für ein Symbol bei erfolgreicher Ausführung; andernfalls NULL.
Hinweise
Verwenden Sie die LoadOEMIcon
Memberfunktion " LoadStandardIcon ", um auf die vordefinierten Windows-Symbole zuzugreifen.
CWinApp::LoadStandardCursor
Lädt die vordefinierte Windows-Cursorressource, die lpszCursorName angibt.
HCURSOR LoadStandardCursor(LPCTSTR lpszCursorName) const;
Parameter
lpszCursorName
Ein IDC_ Manifestkonstantenbezeichner, der einen vordefinierten Windows-Cursor angibt. Diese Bezeichner werden in WINDOWS.H definiert. Die folgende Liste zeigt die möglichen vordefinierten Werte und Bedeutungen für lpszCursorName:
IDC_ARROW Standardpfeilcursor
IDC_IBEAM Standardcursor für texteinfügemarke
IDC_WAIT Sanduhrcursor, der verwendet wird, wenn Windows eine zeitaufwendige Aufgabe ausführt
IDC_CROSS Fadenkreuzcursor für die Auswahl
IDC_UPARROW Pfeil, der gerade nach oben zeigt
IDC_SIZE veraltet und nicht unterstützt; IDC_SIZEALL verwenden
IDC_SIZEALL Ein vierzackiger Pfeil. Der Cursor, der zum Ändern der Größe eines Fensters verwendet werden soll.
IDC_ICON Veraltet und nicht unterstützt. Verwenden Sie IDC_ARROW.
IDC_SIZENWSE Pfeil mit zwei Spitzen mit Enden oben links und unten rechts
IDC_SIZENESW Pfeil mit zwei Spitzen mit Enden oben rechts und unten links
IDC_SIZEWE Horizontaler Pfeil mit zwei Spitzen
IDC_SIZENS Vertikalen Pfeil mit zwei Spitzen
Rückgabewert
Ein Handle für einen Cursor bei erfolgreicher Ausführung; andernfalls NULL.
Hinweise
Verwenden Sie die LoadStandardCursor
Memberfunktion "LoadOEMCursor ", um auf die vordefinierten Windows-Cursor zuzugreifen.
Beispiel
HCURSOR hCursor;
// Load the predefined Windows "up arrow" cursor.
hCursor = AfxGetApp()->LoadStandardCursor(IDC_UPARROW);
CWinApp::LoadStandardIcon
Lädt die vordefinierte Windows-Symbolressource, die lpszIconName angibt.
HICON LoadStandardIcon(LPCTSTR lpszIconName) const;
Parameter
lpszIconName
Ein Manifestkonstantenbezeichner, der ein vordefiniertes Windows-Symbol angibt. Diese Bezeichner werden in WINDOWS.H definiert. Eine Liste der möglichen vordefinierten Werte und deren Beschreibungen finden Sie im lpIconName-Parameter in LoadIcon im Windows SDK.
Rückgabewert
Ein Ziehpunkt für ein Symbol bei erfolgreicher Ausführung; andernfalls NULL.
Hinweise
Verwenden Sie die LoadStandardIcon
Memberfunktion "LoadOEMIcon ", um auf die vordefinierten Windows-Symbole zuzugreifen.
CWinApp::LoadStdProfileSettings
Rufen Sie diese Memberfunktion aus der InitInstance-Memberfunktion auf, um die Liste der zuletzt verwendeten Dateien (MRU) und den letzten Vorschauzustand zu aktivieren und zu laden.
void LoadStdProfileSettings(UINT nMaxMRU = _AFX_MRU_COUNT);
Parameter
nMaxMRU
Die Anzahl der zuletzt verwendeten Dateien zum Nachverfolgen.
Hinweise
Wenn nMaxMRU 0 ist, wird keine MRU-Liste beibehalten.
CWinApp::m_bHelpMode
TRUE, wenn sich die Anwendung im Hilfekontextmodus befindet (konventionell mit UMSCHALT+F1 aufgerufen); andernfalls FALSE.
BOOL m_bHelpMode;
Hinweise
Im Hilfekontextmodus wird der Cursor zu einem Fragezeichen, und der Benutzer kann ihn über den Bildschirm verschieben. Überprüfen Sie dieses Kennzeichen, wenn Sie spezielle Behandlung implementieren möchten, wenn Sie sich im Hilfemodus befinden. m_bHelpMode
ist eine öffentliche Variable vom Typ BOOL.
CWinApp::m_dwRestartManagerSupportFlags
Flags, die bestimmen, wie sich der Neustart-Manager verhält.
DWORD m_dwRestartManagerSupportFlags;
Hinweise
Um den Neustart-Manager zu aktivieren, legen m_dwRestartManagerSupportFlags
Sie das gewünschte Verhalten fest. In der folgenden Tabelle sind die verfügbaren Flags aufgeführt.
Flag | Beschreibung |
---|---|
AFX_RESTART_MANAGER_SUPPORT_RESTART | Die Anwendung wird mithilfe von CWinApp::RegisterWithRestartManager registriert. Der Neustart-Manager ist für den Neustart der Anwendung verantwortlich, wenn sie unerwartet beendet wird. |
- AFX_RESTART_MANAGER_SUPPORT_RECOVERY | Die Anwendung wird beim Neustart-Manager registriert, und der Neustart-Manager ruft die Wiederherstellungsrückruffunktion auf, wenn sie die Anwendung neu startet. Die Standardmäßige Wiederherstellungsrückruffunktion ist CWinApp::ApplicationRecoveryCallback. |
- AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART | Das automatische Speichern ist aktiviert, und der Neustart-Manager erstellt alle geöffneten Dokumente automatisch, wenn die Anwendung neu gestartet wird. |
- AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL | Das automatische Speichern ist aktiviert, und der Neustart-Manager zeichnet alle geöffneten Dokumente in regelmäßigen Abständen automatisch. Das Intervall wird durch CWinApp::m_nAutosaveInterval definiert. |
- AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES | Der Neustart-Manager öffnet zuvor Dokumente nach dem Neustart der Anwendung von einem unerwarteten Beenden. Die CDataRecoveryHandler-Klasse behandelt das Speichern der Liste der geöffneten Dokumente und das Wiederherstellen dieser Dokumente. |
- AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES | Der Neustart-Manager fordert den Benutzer auf, automatisch gespeicherte Dateien nach dem Neustart der Anwendung wiederherzustellen. Die CDataRecoveryHandler Klasse fragt den Benutzer ab. |
- AFX_RESTART_MANAGER_SUPPORT_NO_AUTOSAVE | Die Vereinigung von AFX_RESTART_MANAGER_SUPPORT_RESTART, AFX_RESTART_MANAGER_SUPPORT_RECOVER und AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES. |
- AFX_RESTART_MANAGER_SUPPORT_ALL_ASPECTS | Die Vereinigung von AFX_RESTART_MANAGER_SUPPORT_NO_AUTOSAVE, AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART, AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL und AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES. |
- AFX_RESTART_MANAGER_SUPPORT_RESTART_ASPECTS | Die Vereinigung von AFX_RESTART_MANAGER_SUPPORT_RESTART, AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART, AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES und AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES. |
- AFX_RESTART_MANAGER_SUPPORT_RECOVERY_ASPECTS | Die Gewerkschaft ofAFX_RESTART_MANAGER_SUPPORT_RECOVERY, AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL, AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES und AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES. |
CWinApp::m_eHelpType
Der Typ dieses Datenelements ist der aufgezählte Typ AFX_HELP_TYPE, der innerhalb der CWinApp
Klasse definiert ist.
AFX_HELP_TYPE m_eHelpType;
Hinweise
Die AFX_HELP_TYPE-Aufzählung wird wie folgt definiert:
enum AFX_HELP_TYPE {
afxWinHelp = 0,
afxHTMLHelp = 1
};
Rufen Sie SetHelpMode auf, um die Hilfe der Anwendung auf die HTML-Hilfe festzulegen und anzugeben
afxHTMLHelp
.Rufen Sie auf, und geben Sie an
afxWinHelp
,SetHelpMode
um die Hilfe der Anwendung auf WinHelp festzulegen.
CWinApp::m_hInstance
Entspricht dem von Windows WinMain
übergebenen hInstance-Parameter.
HINSTANCE m_hInstance;
Hinweise
Das m_hInstance
Datenelement ist ein Handle für die aktuelle Instanz der Anwendung, die unter Windows ausgeführt wird. Dies wird von der globalen Funktion AfxGetInstanceHandle zurückgegeben. m_hInstance
ist eine öffentliche Variable vom Typ HINSTANCE.
Beispiel
// Typically you do not need to pass the application's hInstance
// to Windows APIs directly because there are equivalent MFC
// member functions that pass the hInstance for you. The following
// example is not typical:
HCURSOR hCursor;
hCursor = ::LoadCursor(AfxGetApp()->m_hInstance,
MAKEINTRESOURCE(IDC_MYCURSOR));
// A more direct way to get the application's hInstance is to
// call AfxGetInstanceHandle:
hCursor = ::LoadCursor(AfxGetInstanceHandle(),
MAKEINTRESOURCE(IDC_MYCURSOR));
// If you need the hInstance to load a resource, it is better
// to call AfxGetResourceHandle instead of AfxGetInstanceHandle:
hCursor = ::LoadCursor(AfxGetResourceHandle(),
MAKEINTRESOURCE(IDC_MYCURSOR));
// A better way to load the cursor resource is to call
// CWinApp::LoadCursor
hCursor = AfxGetApp()->LoadCursor(IDC_MYCURSOR);
CWinApp::m_lpCmdLine
Entspricht dem lpCmdLine-Parameter, der von Windows WinMain
an übergeben wird.
LPTSTR m_lpCmdLine;
Hinweise
Verweist auf eine mit Null beendete Zeichenfolge, die die Befehlszeile für die Anwendung angibt. Wird verwendet m_lpCmdLine
, um auf alle Befehlszeilenargumente zuzugreifen, die der Benutzer beim Starten der Anwendung eingegeben hat. m_lpCmdLine
ist eine öffentliche Variable vom Typ LPTSTR.
Beispiel
if (m_lpCmdLine[0] == _T('\0'))
{
// Create a new (empty) document.
OnFileNew();
}
else
{
// Open a file passed as the first command line parameter.
OpenDocumentFile(m_lpCmdLine);
}
CWinApp::m_nAutosaveInterval
Die Zeitdauer in Millisekunden zwischen automatischen Speichern.
int m_nAutosaveInterval;
Hinweise
Sie können den Neustart-Manager so konfigurieren, dass geöffnete Dokumente in festgelegten Intervallen automatisch gespeichert werden. Wenn Ihre Anwendung keine dateien automatisch speichern kann, hat dieser Parameter keine Auswirkung.
CWinApp::m_nCmdShow
Entspricht dem nCmdShow-Parameter, der von Windows WinMain
an übergeben wird.
int m_nCmdShow;
Hinweise
Sie sollten als Argument übergebenm_nCmdShow
, wenn Sie CWnd::ShowWindow für das Hauptfenster Der Anwendung aufrufen. m_nCmdShow
ist eine öffentliche Variable vom Typ int
.
Beispiel
// The following code fragment is taken from CMyApp::InitInstance.
// CMyApp is derived from CWinApp.
// The main window has been initialized, so show and update it
// using the nCmdShow parameter passed to the application when it
// was first launched.
// pMainFrame is the main MDI frame window of our app and is derived
// from CMDIFrameWnd.
pMainFrame->ShowWindow(m_nCmdShow);
pMainFrame->UpdateWindow();
CWinApp::m_pActiveWnd
Verwenden Sie dieses Datenelement, um einen Zeiger auf das Hauptfenster der OLE-Containeranwendung zu speichern, in der Ihre OLE-Serveranwendung aktiviert ist.
Hinweise
Wenn dieses Datenelement NULL ist, ist die Anwendung nicht aktiv.
Das Framework legt diese Membervariable fest, wenn das Framefenster von einer OLE-Containeranwendung aktiviert wird.
CWinApp::m_pDataRecoveryHandler
Zeigen Sie auf den Datenwiederherstellungshandler für die Anwendung.
CDataRecoveryHandler* m_pDataRecoveryHandler;
Hinweise
Der Datenwiederherstellungshandler einer Anwendung überwacht geöffnete Dokumente und kopiert sie automatisch. Das Framework verwendet den Datenwiederherstellungshandler, um automatisch gespeicherte Dateien wiederherzustellen, wenn eine Anwendung nach dem unerwarteten Beenden neu gestartet wird. Weitere Informationen finden Sie unter CDataRecoveryHandler-Klasse.
CWinApp::m_pszAppName
Gibt den Namen der Anwendung an.
LPCTSTR m_pszAppName;
Hinweise
Der Anwendungsname kann aus dem Parameter stammen, der an den CWinApp-Konstruktor übergeben wird, oder, falls nicht angegeben, an die Ressourcenzeichenfolge mit der ID von AFX_IDS_APP_TITLE. Wenn der Anwendungsname in der Ressource nicht gefunden wird, stammt er aus dem .EXE Dateinamen des Programms.
Wird von der globalen Funktion AfxGetAppName zurückgegeben. m_pszAppName
ist eine öffentliche Variable vom Typ Const char*.
Hinweis
Wenn Sie einen Wert m_pszAppName
zuweisen, muss er dynamisch für den Heap zugewiesen werden. Der CWinApp
Destruktor ruft free( ) mit diesem Zeiger auf. Sie möchten die _tcsdup
( ) Laufzeitbibliotheksfunktion verwenden, um die Zuordnung durchzuführen. Geben Sie außerdem den Speicher frei, der dem aktuellen Zeiger zugeordnet ist, bevor Sie einen neuen Wert zuweisen. Zum Beispiel:
//First free the string allocated by MFC at CWinApp startup.
//The string is allocated before InitInstance is called.
free((void*)m_pszAppName);
//Change the name of the application file.
//The CWinApp destructor will free the memory.
m_pszAppName = _tcsdup(_T("c:\\somedir\\myapp.exe"));
Beispiel
CWnd *pWnd = AfxGetMainWnd();
// Set pWnd to some CWnd object whose window has already
// been created.
// The following call to CWnd::MessageBox uses the application
// title as the message box caption.
pWnd->MessageBox(_T("Some message"), AfxGetApp()->m_pszAppName);
// A more direct way to get the application title is to
// call AfxGetAppName:
pWnd->MessageBox(_T("Some message"), AfxGetAppName());
// An easier way to display a message box using the application
// title as the message box caption is to call AfxMessageBox:
AfxMessageBox(_T("Some message"));
CWinApp::m_pszExeName
Enthält den Namen der ausführbaren Datei der Anwendung ohne Erweiterung.
LPCTSTR m_pszExeName;
Hinweise
Im Gegensatz zu m_pszAppName darf dieser Name keine Leerzeichen enthalten. m_pszExeName
ist eine öffentliche Variable vom Typ Const char*.
Hinweis
Wenn Sie einen Wert m_pszExeName
zuweisen, muss er dynamisch für den Heap zugewiesen werden. Der CWinApp
Destruktor ruft free( ) mit diesem Zeiger auf. Sie möchten die _tcsdup
( ) Laufzeitbibliotheksfunktion verwenden, um die Zuordnung durchzuführen. Geben Sie außerdem den Speicher frei, der dem aktuellen Zeiger zugeordnet ist, bevor Sie einen neuen Wert zuweisen. Zum Beispiel:
//First free the string allocated by MFC at CWinApp startup.
//The string is allocated before InitInstance is called.
free((void*)m_pszExeName);
//Change the name of the .EXE file.
//The CWinApp destructor will free the memory.
m_pszExeName = _tcsdup(_T("c:\\somedir\\myapp"));
CWinApp::m_pszHelpFilePath
Enthält den Pfad zur Hilfedatei der Anwendung.
LPCTSTR m_pszHelpFilePath;
Hinweise
Standardmäßig initialisiert m_pszHelpFilePath
das Framework den Namen der Anwendung mit ". HLP" angefügt. Wenn Sie den Namen der Hilfedatei ändern möchten, zeigen Sie m_pszHelpFilePath
auf eine Zeichenfolge, die den vollständigen Namen der gewünschten Hilfedatei enthält. Dies ist ein praktischer Ort in der InitInstance-Funktion der Anwendung. m_pszHelpFilePath
ist eine öffentliche Variable vom Typ Const char*.
Hinweis
Wenn Sie einen Wert m_pszHelpFilePath
zuweisen, muss er dynamisch für den Heap zugewiesen werden. Der CWinApp
Destruktor ruft free( ) mit diesem Zeiger auf. Sie möchten die _tcsdup
( ) Laufzeitbibliotheksfunktion verwenden, um die Zuordnung durchzuführen. Geben Sie außerdem den Speicher frei, der dem aktuellen Zeiger zugeordnet ist, bevor Sie einen neuen Wert zuweisen. Zum Beispiel:
//First free the string allocated by MFC at CWinApp startup.
//The string is allocated before InitInstance is called.
free((void*)m_pszHelpFilePath);
//Change the name of the .HLP file.
//The CWinApp destructor will free the memory.
m_pszHelpFilePath = _tcsdup(_T("c:\\somedir\\myhelp.hlp"));
CWinApp::m_pszProfileName
Enthält den Namen der Anwendung. INI-Datei.
LPCTSTR m_pszProfileName;
Hinweise
m_pszProfileName
ist eine öffentliche Variable vom Typ Const char*.
Hinweis
Wenn Sie einen Wert m_pszProfileName
zuweisen, muss er dynamisch für den Heap zugewiesen werden. Der CWinApp
Destruktor ruft free( ) mit diesem Zeiger auf. Sie möchten die _tcsdup
( ) Laufzeitbibliotheksfunktion verwenden, um die Zuordnung durchzuführen. Geben Sie außerdem den Speicher frei, der dem aktuellen Zeiger zugeordnet ist, bevor Sie einen neuen Wert zuweisen. Zum Beispiel:
//First free the string allocated by MFC at CWinApp startup.
//The string is allocated before InitInstance is called.
free((void*)m_pszProfileName);
//Change the name of the .INI file.
//The CWinApp destructor will free the memory.
m_pszProfileName = _tcsdup(_T("c:\\somedir\\myini.ini"));
CWinApp::m_pszRegistryKey
Wird verwendet, um zu bestimmen, wo in der Registrierungs- oder INI-Datei Anwendungsprofileinstellungen gespeichert werden.
LPCTSTR m_pszRegistryKey;
Hinweise
Normalerweise wird dieses Datenelement schreibgeschützt behandelt.
- Der Wert wird in einem Registrierungsschlüssel gespeichert. Der Name für die Anwendungsprofileinstellung wird an den folgenden Registrierungsschlüssel angefügt: HKEY_CURRENT_USER/Software/LocalAppWizard-Generated/.
Wenn Sie einen Wert m_pszRegistryKey
zuweisen, muss er dynamisch für den Heap zugewiesen werden. Der CWinApp
Destruktor ruft free( ) mit diesem Zeiger auf. Sie möchten die _tcsdup
( ) Laufzeitbibliotheksfunktion verwenden, um die Zuordnung durchzuführen. Geben Sie außerdem den Speicher frei, der dem aktuellen Zeiger zugeordnet ist, bevor Sie einen neuen Wert zuweisen. Zum Beispiel:
//First free the string allocated by MFC at CWinApp startup.
//The string is allocated before InitInstance is called.
free((void*)m_pszRegistryKey);
//Change the name of the registry key.
//The CWinApp destructor will free the memory.
m_pszRegistryKey = _tcsdup(
_T("HKEY_CURRENT_USER\\Software\\mycompany\\myapp\\thissection\\thisvalue"));
CWinApp::m_pszAppID
Anwendungsbenutzermodell-ID.
LPCTSTR m_pszAppID;
Hinweise
CWinApp::OnContextHelp
Behandelt DIE UMSCHALT+F1-Hilfe innerhalb der Anwendung.
afx_msg void OnContextHelp();
Hinweise
Sie müssen Ihrer CWinApp
Klassennachrichtenzuordnung eine ON_COMMAND( ID_CONTEXT_HELP, OnContextHelp )
Anweisung hinzufügen und außerdem einen Zugriffstastentabelleneintrag (in der Regel UMSCHALT+F1) hinzufügen, um diese Memberfunktion zu aktivieren.
OnContextHelp
versetzt die Anwendung in den Hilfemodus. Der Cursor wechselt zu einem Pfeil und einem Fragezeichen, und der Benutzer kann dann den Mauszeiger bewegen und die linke Maustaste drücken, um ein Dialogfeld, ein Fenster, ein Menü oder eine Befehlsschaltfläche auszuwählen. Diese Memberfunktion ruft den Hilfekontext des Objekts unter dem Cursor ab und ruft die Windows-Funktion WinHelp mit diesem Hilfekontext auf.
CWinApp::OnDDECommand
Wird vom Framework aufgerufen, wenn das Hauptframefenster eine DDE-Ausführungsmeldung empfängt.
virtual BOOL OnDDECommand(LPTSTR lpszCommand);
Parameter
lpszCommand
Verweist auf eine DDE-Befehlszeichenfolge, die von der Anwendung empfangen wird.
Rückgabewert
Nonzero, wenn der Befehl behandelt wird; andernfalls 0.
Hinweise
Die Standardimplementierung überprüft, ob es sich bei dem Befehl um eine Anforderung zum Öffnen eines Dokuments handelt und wenn ja, wird das angegebene Dokument geöffnet. Der Windows-Datei-Manager sendet in der Regel solche DDE-Befehlszeichenfolgen, wenn der Benutzer auf eine Datendatei doppelklicken. Überschreiben Sie diese Funktion, um andere DDE-Ausführungsbefehle zu behandeln, z. B. den zu druckenden Befehl.
Beispiel
BOOL CMyApp::OnDDECommand(LPTSTR lpszCommand)
{
if (CWinApp::OnDDECommand(lpszCommand))
return TRUE;
// Handle any DDE commands recognized by your application
// and return TRUE. See implementation of CWinApp::OnDDEComand
// for example of parsing the DDE command string.
// Return FALSE for any DDE commands you do not handle.
return FALSE;
}
CWinApp::OnFileNew
Implementiert den Befehl ID_FILE_NEW.
afx_msg void OnFileNew();
Hinweise
Sie müssen ihrer CWinApp
Klassennachrichtenzuordnung eine ON_COMMAND( ID_FILE_NEW, OnFileNew )
Anweisung hinzufügen, um diese Memberfunktion zu aktivieren. Wenn diese Funktion aktiviert ist, verarbeitet diese Funktion die Ausführung des Befehls "Neu speichern".
Informationen zum Standardverhalten und Anleitungen zum Außerkraftsetzen dieser Memberfunktion finden Sie in technischem Hinweis 22 .
Beispiel
// The following message map, produced by the Application Wizard, binds
// the File New, Open, and Print Setup menu commands to default
// framework implementations of these commands.
BEGIN_MESSAGE_MAP(CStdApp, CWinApp)
// Standard file based document commands
ON_COMMAND(ID_FILE_NEW, &CWinApp::OnFileNew)
ON_COMMAND(ID_FILE_OPEN, &CWinApp::OnFileOpen)
// Standard print setup command
ON_COMMAND(ID_FILE_PRINT_SETUP, &CWinApp::OnFilePrintSetup)
END_MESSAGE_MAP()
// The following message map illustrates how to rebind the
// File New, Open and Print Setup menu commands to handlers that
// you implement in your CWinApp-derived class.
// Note, you can name the handler CCustomApp::OnFileNew instead of
// CCustomApp::OnMyFileNew, and likewise for the other handlers, if desired.
BEGIN_MESSAGE_MAP(CCustomApp, CWinApp)
ON_COMMAND(ID_FILE_NEW, &CCustomApp::OnMyFileNew)
ON_COMMAND(ID_FILE_OPEN, &CCustomApp::OnMyFileOpen)
ON_COMMAND(ID_FILE_PRINT_SETUP, &CCustomApp::OnMyFilePrintSetup)
END_MESSAGE_MAP()
CWinApp::OnFileOpen
Implementiert den Befehl ID_FILE_OPEN.
afx_msg void OnFileOpen();
Hinweise
Sie müssen ihrer CWinApp
Klassennachrichtenzuordnung eine ON_COMMAND( ID_FILE_OPEN, OnFileOpen )
Anweisung hinzufügen, um diese Memberfunktion zu aktivieren. Wenn diese Funktion aktiviert ist, behandelt diese Funktion die Ausführung des Befehls "Datei öffnen".
Informationen zum Standardverhalten und Anleitungen zum Außerkraftsetzen dieser Memberfunktion finden Sie unter Technical Note 22.
Beispiel
// The following message map, produced by the Application Wizard, binds
// the File New, Open, and Print Setup menu commands to default
// framework implementations of these commands.
BEGIN_MESSAGE_MAP(CStdApp, CWinApp)
// Standard file based document commands
ON_COMMAND(ID_FILE_NEW, &CWinApp::OnFileNew)
ON_COMMAND(ID_FILE_OPEN, &CWinApp::OnFileOpen)
// Standard print setup command
ON_COMMAND(ID_FILE_PRINT_SETUP, &CWinApp::OnFilePrintSetup)
END_MESSAGE_MAP()
// The following message map illustrates how to rebind the
// File New, Open and Print Setup menu commands to handlers that
// you implement in your CWinApp-derived class.
// Note, you can name the handler CCustomApp::OnFileNew instead of
// CCustomApp::OnMyFileNew, and likewise for the other handlers, if desired.
BEGIN_MESSAGE_MAP(CCustomApp, CWinApp)
ON_COMMAND(ID_FILE_NEW, &CCustomApp::OnMyFileNew)
ON_COMMAND(ID_FILE_OPEN, &CCustomApp::OnMyFileOpen)
ON_COMMAND(ID_FILE_PRINT_SETUP, &CCustomApp::OnMyFilePrintSetup)
END_MESSAGE_MAP()
CWinApp::OnFilePrintSetup
Implementiert den Befehl ID_FILE_PRINT_SETUP.
afx_msg void OnFilePrintSetup();
Hinweise
Sie müssen ihrer CWinApp
Klassennachrichtenzuordnung eine ON_COMMAND( ID_FILE_PRINT_SETUP, OnFilePrintSetup )
Anweisung hinzufügen, um diese Memberfunktion zu aktivieren. Wenn diese Funktion aktiviert ist, verarbeitet diese Funktion die Ausführung des Befehls "Datei drucken".
Informationen zum Standardverhalten und Anleitungen zum Außerkraftsetzen dieser Memberfunktion finden Sie unter Technical Note 22.
Beispiel
// The following message map, produced by the Application Wizard, binds
// the File New, Open, and Print Setup menu commands to default
// framework implementations of these commands.
BEGIN_MESSAGE_MAP(CStdApp, CWinApp)
// Standard file based document commands
ON_COMMAND(ID_FILE_NEW, &CWinApp::OnFileNew)
ON_COMMAND(ID_FILE_OPEN, &CWinApp::OnFileOpen)
// Standard print setup command
ON_COMMAND(ID_FILE_PRINT_SETUP, &CWinApp::OnFilePrintSetup)
END_MESSAGE_MAP()
// The following message map illustrates how to rebind the
// File New, Open and Print Setup menu commands to handlers that
// you implement in your CWinApp-derived class.
// Note, you can name the handler CCustomApp::OnFileNew instead of
// CCustomApp::OnMyFileNew, and likewise for the other handlers, if desired.
BEGIN_MESSAGE_MAP(CCustomApp, CWinApp)
ON_COMMAND(ID_FILE_NEW, &CCustomApp::OnMyFileNew)
ON_COMMAND(ID_FILE_OPEN, &CCustomApp::OnMyFileOpen)
ON_COMMAND(ID_FILE_PRINT_SETUP, &CCustomApp::OnMyFilePrintSetup)
END_MESSAGE_MAP()
CWinApp::OnHelp
Verarbeitet die F1-Hilfe in der Anwendung (unter Verwendung des aktuellen Kontexts).
afx_msg void OnHelp();
Hinweise
In der Regel fügen Sie auch einen Tastenkombinationseintrag für die F1-Taste hinzu. Das Aktivieren der F1-Taste ist nur eine Konvention, keine Anforderung.
Sie müssen ihrer CWinApp
Klassennachrichtenzuordnung eine ON_COMMAND( ID_HELP, OnHelp )
Anweisung hinzufügen, um diese Memberfunktion zu aktivieren. Wenn diese Option aktiviert ist, wird vom Framework aufgerufen, wenn der Benutzer die F1-TASTE drückt.
Die Standardimplementierung dieser Meldungshandlerfunktion bestimmt den Hilfekontext, der dem aktuellen Fenster, Dialogfeld oder Menüelement entspricht, und ruft dann WINHELP.EXE auf. Wenn derzeit kein Kontext verfügbar ist, verwendet die Funktion den Standardkontext.
Überschreiben Sie diese Memberfunktion, um den Hilfekontext auf einen anderen Kontext als das Fenster, das Dialogfeld, das Menüelement oder die Symbolleistenschaltfläche festzulegen, die derzeit den Fokus besitzt. Rufen Sie WinHelp
mit der gewünschten Hilfekontext-ID auf.
CWinApp::OnHelpFinder
Behandelt die befehle ID_HELP_FINDER und ID_DEFAULT_HELP.
afx_msg void OnHelpFinder();
Hinweise
Sie müssen ihrer CWinApp
Klassennachrichtenzuordnung eine ON_COMMAND( ID_HELP_FINDER, OnHelpFinder )
Anweisung hinzufügen, um diese Memberfunktion zu aktivieren. Wenn diese Option aktiviert ist, ruft das Framework diese Meldungshandlerfunktion auf, wenn der Benutzer Ihrer Anwendung den Befehl "Help Finder" auswählt, der mit dem Standardthema HELP_FINDER aufgerufen werden WinHelp
soll.
CWinApp::OnHelpIndex
Behandelt den befehl ID_HELP_INDEX und stellt ein Standardhilfethema bereit.
afx_msg void OnHelpIndex();
Hinweise
Sie müssen ihrer CWinApp
Klassennachrichtenzuordnung eine ON_COMMAND( ID_HELP_INDEX, OnHelpIndex )
Anweisung hinzufügen, um diese Memberfunktion zu aktivieren. Wenn diese Option aktiviert ist, ruft das Framework diese Meldungshandlerfunktion auf, wenn der Benutzer ihrer Anwendung den Befehl "Hilfeindex" auswählt, der mit dem Standardthema HELP_INDEX aufgerufen werden WinHelp
soll.
CWinApp::OnHelpUsing
Behandelt den befehl ID_HELP_USING.
afx_msg void OnHelpUsing();
Hinweise
Sie müssen ihrer CWinApp
Klassennachrichtenzuordnung eine ON_COMMAND( ID_HELP_USING, OnHelpUsing )
Anweisung hinzufügen, um diese Memberfunktion zu aktivieren. Das Framework ruft diese Meldungshandlerfunktion auf, wenn der Benutzer Ihrer Anwendung den Befehl "Hilfe verwenden" auswählt, um die WinHelp
Anwendung mit dem Standardthema HELP_HELPONHELP aufzurufen.
CWinApp::OnIdle
Überschreiben Sie diese Memberfunktion, um die Leerlaufzeitverarbeitung durchzuführen.
virtual BOOL OnIdle(LONG lCount);
Parameter
lCount
Ein Indikator, der jedes Mal OnIdle
erhöht wird, wenn die Nachrichtenwarteschlange der Anwendung leer ist. Diese Anzahl wird jedes Mal auf 0 zurückgesetzt, wenn eine neue Nachricht verarbeitet wird. Sie können den lCount-Parameter verwenden, um die relative Zeitspanne zu bestimmen, die die Anwendung im Leerlauf war, ohne eine Nachricht zu verarbeiten.
Rückgabewert
Nonzero, um mehr Leerlaufverarbeitungszeit zu erhalten; 0, wenn keine mehr Leerlaufzeit erforderlich ist.
Hinweise
OnIdle
wird in der Standardnachrichtenschleife aufgerufen, wenn die Nachrichtenwarteschlange der Anwendung leer ist. Verwenden Sie die Außerkraftsetzung, um ihre eigenen Hintergrund-Idle-Handler-Aufgaben aufzurufen.
OnIdle
sollte "0" zurückgeben, um anzugeben, dass keine Leerlaufzeit erforderlich ist. Der lCount-Parameter wird jedes Mal OnIdle
erhöht, wenn die Nachrichtenwarteschlange leer ist und bei jeder Verarbeitung einer neuen Nachricht auf 0 zurückgesetzt wird. Sie können ihre verschiedenen Leerlaufroutinen basierend auf dieser Anzahl aufrufen.
Im Folgenden wird die Leerlaufschleifenverarbeitung zusammengefasst:
Wenn die Nachrichtenschleife in der Microsoft Foundation-Klassenbibliothek die Nachrichtenwarteschlange überprüft und keine ausstehenden Nachrichten findet, ruft sie das Anwendungsobjekt auf
OnIdle
und stellt 0 als lCount-Argument bereit.OnIdle
führt eine Verarbeitung aus und gibt einen Wert ungleich Null zurück, um anzugeben, dass er erneut aufgerufen werden sollte, um die weitere Verarbeitung durchzuführen.Die Nachrichtenschleife überprüft die Nachrichtenwarteschlange erneut. Wenn keine Nachrichten ausstehen, wird das Argument "lCount" erneut aufgerufen
OnIdle
.OnIdle
Beendet schließlich die Verarbeitung aller leerlaufvorgänge und gibt 0 zurück. Dadurch wird der Nachrichtenschleife mitgeteilt, den AufrufOnIdle
zu beenden, bis die nächste Nachricht aus der Nachrichtenwarteschlange empfangen wird. An diesem Punkt wird der Leerlauf neu gestartet, wobei das Argument auf 0 festgelegt ist.
Führen Sie während der Anwendung keine langen Aufgaben durch OnIdle
, da die Benutzereingabe erst verarbeitet werden kann, wenn sie zurückgegeben wird OnIdle
.
Hinweis
Die Standardimplementierung von Aktualisierungen von OnIdle
Befehlsbenutzeroberflächenobjekten wie Menüelementen und Symbolleistenschaltflächen und führt eine interne Datenstrukturbereinigung durch. Wenn Sie daher außer Kraft setzenOnIdle
, müssen Sie mit der lCount
überschriebenen Version aufrufenCWinApp::OnIdle
. Rufen Sie zunächst die gesamte Leerlaufverarbeitung der Basisklasse auf (d. a. bis die Basisklasse OnIdle
"0" zurückgibt). Wenn Sie Arbeit ausführen müssen, bevor die Basisklassenverarbeitung abgeschlossen ist, überprüfen Sie die Basisklassenimplementierung, um den richtigen lCount auszuwählen, in dem Ihre Arbeit ausgeführt werden soll.
Wenn Sie immer dann aufgerufen werden möchten OnIdle
, wenn eine Nachricht aus der Nachrichtenwarteschlange abgerufen wird, können Sie die CWinThreadIsIdleMessage überschreiben. Wenn eine Anwendung einen sehr kurzen Timer festgelegt hat oder wenn das System die WM_SYSTIMER Nachricht sendet, wird sie OnIdle
wiederholt aufgerufen und beeinträchtigt die Leistung.
Beispiel
Die folgenden beiden Beispiele zeigen, wie sie verwendet OnIdle
werden. Im ersten Beispiel werden zwei Leerlaufaufgaben mithilfe des lCount-Arguments verarbeitet, um die Aufgaben zu priorisieren. Der erste Vorgang ist eine hohe Priorität, und Sie sollten dies nach Möglichkeit tun. Die zweite Aufgabe ist weniger wichtig und sollte nur ausgeführt werden, wenn eine lange Pause in der Benutzereingabe besteht. Beachten Sie den Aufruf der Basisklassenversion von OnIdle
. Im zweiten Beispiel wird eine Gruppe von Leerlaufaufgaben mit unterschiedlichen Prioritäten verwaltet.
BOOL CMyApp::OnIdle(LONG lCount)
{
BOOL bMore = CWinApp::OnIdle(lCount);
if (lCount == 0)
{
TRACE(_T("App idle for short period of time\n"));
bMore = TRUE;
}
else if (lCount == 10)
{
TRACE(_T("App idle for longer amount of time\n"));
bMore = TRUE;
}
else if (lCount == 100)
{
TRACE(_T("App idle for even longer amount of time\n"));
bMore = TRUE;
}
else if (lCount == 1000)
{
TRACE(_T("App idle for quite a long period of time\n"));
// bMore is not set to TRUE, no longer need idle
// IMPORTANT: bMore is not set to FALSE since CWinApp::OnIdle may
// have more idle tasks to complete.
}
return bMore;
// return TRUE as long as there are any more idle tasks
}
CWinApp::OpenDocumentFile
Das Framework ruft diese Methode auf, um die benannte CDocument-Datei für die Anwendung zu öffnen.
virtual CDocument* OpenDocumentFile(
LPCTSTR lpszFileName
BOOL bAddToMRU = TRUE);
Parameter
lpszFileName
[in] Der Name der Datei, die geöffnet werden soll.
bAddToMRU
[in] TRUE gibt an, dass das Dokument eine der aktuellsten Dateien ist; FALSE gibt an, dass das Dokument keine der aktuellsten Dateien ist.
Rückgabewert
Ein Zeiger auf einen CDocument
wenn erfolgreichen Wert; andernfalls NULL.
Hinweise
Wenn ein Dokument mit diesem Namen bereits geöffnet ist, erhält das erste Rahmenfenster, das dieses Dokument enthält, den Fokus. Wenn eine Anwendung mehrere Dokumentvorlagen unterstützt, verwendet das Framework die Dateinamenerweiterung, um die entsprechende Dokumentvorlage zu finden, um zu versuchen, das Dokument zu laden. Bei erfolgreicher Ausführung erstellt die Dokumentvorlage dann ein Rahmenfenster und eine Ansicht für das Dokument.
Beispiel
if (m_lpCmdLine[0] == _T('\0'))
{
// Create a new (empty) document.
OnFileNew();
}
else
{
// Open a file passed as the first command line parameter.
OpenDocumentFile(m_lpCmdLine);
}
CWinApp::P arseCommandLine
Rufen Sie diese Memberfunktion auf, um die Befehlszeile zu analysieren und die Parameter einzeln an CCommandLineInfo::P arseParam zu senden.
void ParseCommandLine(CCommandLineInfo& rCmdInfo);
Parameter
rCmdInfo
Ein Verweis auf ein CCommandLineInfo -Objekt.
Hinweise
Wenn Sie ein neues MFC-Projekt mit dem Anwendungs-Assistenten starten, erstellt der Anwendungs-Assistent eine lokale Instanz von CCommandLineInfo
, und ruft ProcessShellCommand
dann die ParseCommandLine
InitInstance-Memberfunktion auf. Eine Befehlszeile folgt der unten beschriebenen Route:
Nach der Erstellung in
InitInstance
wird dasCCommandLineInfo
Objekt an .ParseCommandLine
ParseCommandLine
ruft dannCCommandLineInfo::ParseParam
wiederholt für jeden Parameter auf.ParseParam
füllt dasCCommandLineInfo
Objekt aus, das dann an ProcessShellCommand übergeben wird.ProcessShellCommand
behandelt die Befehlszeilenargumente und Flags.
Beachten Sie, dass Sie bei Bedarf direkt anrufen ParseCommandLine
können.
Eine Beschreibung der Befehlszeilenkennzeichnungen finden Sie unter "CCommandLineInfo::m_nShellCommand".
CWinApp::P reTranslateMessage
Überschreiben Sie diese Funktion, um Fenstermeldungen zu filtern, bevor sie an die Windows-Funktionen TranslateMessage und DispatchMessage verteilt werden. Die Standardimplementierung führt zugriffstastenbasierte Übersetzung durch, sodass Sie die CWinApp::PreTranslateMessage
Memberfunktion in Ihrer überschriebenen Version aufrufen müssen.
virtual BOOL PreTranslateMessage(MSG* pMsg);
Parameter
pMsg
Ein Zeiger auf eine MSG-Struktur , die die zu verarbeitende Nachricht enthält.
Rückgabewert
Nonzero, wenn die Nachricht vollständig verarbeitet PreTranslateMessage
wurde und nicht weiter verarbeitet werden sollte. Null, wenn die Nachricht normal verarbeitet werden soll.
CWinApp::P rocessMessageFilter
Die Hook-Funktion des Frameworks ruft diese Memberfunktion auf, um bestimmte Windows-Nachrichten zu filtern und darauf zu reagieren.
virtual BOOL ProcessMessageFilter(
int code,
LPMSG lpMsg);
Parameter
code
Gibt einen Hook-Code an. Diese Memberfunktion verwendet den Code, um zu bestimmen, wie lpMsg verarbeitet wird.
lpMsg
Ein Zeiger auf einen Windows MSG-Kürzungsbalken.
Rückgabewert
Nonzero, wenn die Nachricht verarbeitet wird; andernfalls 0.
Hinweise
Eine Hook-Funktion verarbeitet Ereignisse, bevor sie an die normale Nachrichtenverarbeitung der Anwendung gesendet werden.
Wenn Sie dieses erweiterte Feature außer Kraft setzen, müssen Sie unbedingt die Basisklassenversion aufrufen, um die Hookverarbeitung des Frameworks aufrechtzuerhalten.
CWinApp::P rocessShellCommand
Diese Memberfunktion wird von InitInstance aufgerufen, um die parameter zu akzeptieren, die CCommandLineInfo
vom von rCmdInfo identifizierten Objekt übergeben werden, und führen die angegebene Aktion aus.
BOOL ProcessShellCommand(CCommandLineInfo& rCmdInfo);
Parameter
rCmdInfo
Ein Verweis auf ein CCommandLineInfo -Objekt.
Rückgabewert
Nonzero, wenn der Shellbefehl erfolgreich verarbeitet wird. Wenn 0, geben Sie FALSE von InitInstance zurück.
Hinweise
Wenn Sie ein neues MFC-Projekt mit dem Anwendungs-Assistenten starten, erstellt der Anwendungs-Assistent eine lokale Instanz von CCommandLineInfo
, und ruft ProcessShellCommand
dann parseCommandLine in der InitInstance
Memberfunktion auf. Eine Befehlszeile folgt der unten beschriebenen Route:
Nach der Erstellung in
InitInstance
wird dasCCommandLineInfo
Objekt an .ParseCommandLine
ParseCommandLine
ruft dann wiederholt CCommandLineInfo::P arseParam für jeden Parameter auf.ParseParam
füllt dasCCommandLineInfo
Objekt aus, das dann an .ProcessShellCommand
ProcessShellCommand
behandelt die Befehlszeilenargumente und Flags.
Die Datenmmber des CCommandLineInfo
Objekts, das durch CCommandLineInfo::m_nShellCommand identifiziert wird, weisen den folgenden Aufzählungstyp auf, der innerhalb der CCommandLineInfo
Klasse definiert ist.
enum {
FileNew,
FileOpen,
FilePrint,
FilePrintTo,
FileDDE
};
Eine kurze Beschreibung der einzelnen Werte finden Sie unter CCommandLineInfo::m_nShellCommand
.
CWinApp::P rocessWndProcException
Das Framework ruft diese Memberfunktion auf, wenn der Handler keine Ausnahme abfangen kann, die in einer der Meldungs- oder Befehlshandler ihrer Anwendung ausgelöst wird.
virtual LRESULT ProcessWndProcException(
CException* e,
const MSG* pMsg);
Parameter
e
Ein Zeiger auf eine unangeknutzte Ausnahme.
pMsg
Eine MSG-Kürzung, die Informationen zu der Windows-Nachricht enthält, die dazu führte, dass das Framework eine Ausnahme auslöste.
Rückgabewert
Der Wert, der an Windows zurückgegeben werden soll. Normalerweise ist dies 0L für Windows-Nachrichten, 1L ( TRUE) für Befehlsnachrichten.
Hinweise
Rufen Sie diese Memberfunktion nicht direkt auf.
Die Standardimplementierung dieser Memberfunktion erstellt ein Meldungsfeld. Wenn die nicht angezeigte Ausnahme mit einem Menü-, Symbolleisten- oder Zugriffstastenbefehlsfehler auftritt, zeigt das Meldungsfeld eine Meldung "Befehl fehlgeschlagen" an. andernfalls wird eine Meldung "Interner Anwendungsfehler" angezeigt.
Überschreiben Sie diese Memberfunktion, um die globale Behandlung Ihrer Ausnahmen bereitzustellen. Rufen Sie die Basisfunktionalität nur auf, wenn das Meldungsfeld angezeigt werden soll.
CWinApp::Register
Führt alle Registrierungsaufgaben aus, die nicht verarbeitet werden.RegisterShellFileTypes
virtual BOOL Register();
Rückgabewert
Bei Erfolg ein Wert ungleich 0 (null), andernfalls 0 (null).
Hinweise
Die Standardimplementierung gibt einfach WAHR zurück. Überschreiben Sie diese Funktion, um alle angepassten Registrierungsschritte bereitzustellen.
CWinApp::RegisterShellFileTypes
Rufen Sie diese Memberfunktion auf, um alle Dokumenttypen Ihrer Anwendung beim Windows-Datei-Manager zu registrieren.
void RegisterShellFileTypes(BOOL bCompat = FALSE);
Parameter
bCompat
[in] TRUE fügt Registrierungseinträge für Shellbefehle "Drucken" und "Drucken in" hinzu, sodass ein Benutzer Dateien direkt aus der Shell drucken kann oder indem er die Datei in ein Druckerobjekt zieht. Außerdem wird ein DefaultIcon-Schlüssel hinzugefügt. Dieser Parameter ist standardmäßig FALSE, um die Abwärtskompatibilität zu gewährleisten.
Hinweise
Auf diese Weise kann der Benutzer eine von Ihrer Anwendung erstellte Datendatei öffnen, indem er im Datei-Manager darauf doppelklicken kann. Rufen Sie nach dem Aufrufen RegisterShellFileTypes
von AddDocTemplate für jede dokumentvorlagen in Ihrer Anwendung auf. Rufen Sie auch die EnableShellOpen-Memberfunktion auf, wenn Sie aufrufen RegisterShellFileTypes
.
RegisterShellFileTypes
durchläuft die Liste der von der Anwendung verwalteten CDocTemplate-Objekte und fügt für jede Dokumentvorlage Einträge zur Registrierungsdatenbank hinzu, die Windows für Dateizuordnungen verwaltet. Der Datei-Manager verwendet diese Einträge, um eine Datendatei zu öffnen, wenn der Benutzer darauf doppelklicken. Dies beseitigt die Notwendigkeit, eine . REG-Datei mit Ihrer Anwendung.
Hinweis
RegisterShellFileTypes
funktioniert nur, wenn der Benutzer das Programm mit Administratorrechten ausführt. Wenn das Programm nicht über Administratorrechte verfügt, kann es keine Registrierungsschlüssel ändern.
Wenn die Registrierungsdatenbank bereits eine bestimmte Dateinamenerweiterung einem anderen Dateityp zuordnet, wird keine neue Zuordnung erstellt. Informationen zum Format der Zeichenfolgen, die zum Registrieren dieser Informationen erforderlich sind, finden Sie in der CDocTemplate
Klasse.
CWinApp::RegisterWithRestartManager
Registriert die Anwendung beim Neustart-Manager.
virtual HRESULT RegisterWithRestartManager(
BOOL bRegisterRecoveryCallback,
const CString& strRestartIdentifier);
virtual HRESULT RegisterWithRestartManager(
LPCWSTR pwzCommandLineArgs,
DWORD dwRestartFlags,
APPLICATION_RECOVERY_CALLBACK pRecoveryCallback,
LPVOID lpvParam,
DWORD dwPingInterval,
DWORD dwCallbackFlags);
Parameter
bRegisterRecoveryCallback
[in] TRUE gibt an, dass diese Instanz der Anwendung eine Wiederherstellungsrückruffunktion verwendet; FALSE gibt an, dass dies nicht der Fall ist. Das Framework ruft die Wiederherstellungsrückruffunktion auf, wenn die Anwendung unerwartet beendet wird. Weitere Informationen finden Sie unter CWinApp::ApplicationRecoveryCallback.
strRestartIdentifier
[in] Die eindeutige Zeichenfolge, die diese Instanz des Neustart-Managers identifiziert. Der Bezeichner des Neustart-Managers ist für jede Instanz einer Anwendung eindeutig.
pwzCommandLineArgs
[in] Eine Zeichenfolge, die zusätzliche Argumente aus der Befehlszeile enthält.
dwRestartFlags
[in] Optionale Flags für den Neustart-Manager. Weitere Informationen finden Sie im Abschnitt Hinweise.
pRecoveryCallback
[in] Die Wiederherstellungsrückruffunktion. Diese Funktion muss einen LPVOID-Parameter als Eingabe verwenden und ein DWORD zurückgeben. Die Standardmäßige Wiederherstellungsrückruffunktion ist CWinApp::ApplicationRecoveryCallback
.
lpvParam
[in] Der Eingabeparameter für die Wiederherstellungsrückruffunktion. Weitere Informationen finden Sie unter CWinApp::ApplicationRecoveryCallback.
dwPingInterval
[in] Die Zeitspanne, die der Neustart-Manager auf die Rückgabe der Wiederherstellungsrückruffunktion wartet. Dieser Parameter ist in Millisekunden enthalten.
dwCallbackFlags
[in] Flags, die an die Wiederherstellungsrückruffunktion übergeben werden. Für die zukünftige Verwendung reserviert.
Rückgabewert
S_OK, wenn die Methode erfolgreich ist; andernfalls ein Fehlercode.
Hinweise
Wenn Ihre Anwendung die MFC-Standardimplementierung für automatisch gespeicherte Dateien verwendet, sollten Sie die einfache Version von RegisterWithRestartManager
. Verwenden Sie die komplexe Version, RegisterWithRestartManager
wenn Sie das Verhalten des automatischen Speicherns Ihrer Anwendung anpassen möchten.
Wenn Sie diese Methode mit einer leeren Zeichenfolge für strRestartIdentifier aufrufen, RegisterWithRestartManager
wird eine eindeutige Bezeichnerzeichenfolge für diese Instanz des Neustart-Managers erstellt.
Wenn eine Anwendung unerwartet beendet wird, startet der Neustart-Manager die Anwendung über die Befehlszeile neu und stellt den eindeutigen Neustartbezeichner als optionales Argument bereit. In diesem Szenario ruft das Framework zweimal auf RegisterWithRestartManager
. Der erste Aufruf stammt aus CWinApp::InitInstance mit einer leeren Zeichenfolge für den Zeichenfolgenbezeichner. Anschließend ruft die Methode CWinApp::P rocessShellCommand mit dem eindeutigen Neustartbezeichner auf RegisterWithRestartManager
.
Nachdem Sie eine Anwendung beim Neustart-Manager registriert haben, überwacht der Neustart-Manager die Anwendung. Wenn die Anwendung unerwartet beendet wird, ruft der Neustart-Manager die Wiederherstellungsrückruffunktion während des Herunterfahrens auf. Der Neustart-Manager wartet die dwPingInterval auf eine Antwort der Wiederherstellungsrückruffunktion. Wenn die Wiederherstellungsrückruffunktion nicht innerhalb dieses Zeitraums reagiert, wird die Anwendung beendet, ohne die Wiederherstellungsrückruffunktion auszuführen.
Standardmäßig werden die dwRestartFlags nicht unterstützt, sondern für die zukünftige Verwendung bereitgestellt. Die möglichen Werte für dwRestartFlags sind wie folgt:
RESTART_NO_CRASH
RESTART_NO_HANG
RESTART_NO_PATCH
RESTART_NO_REBOOT
CWinApp::ReopenPreviousFilesAtRestart
Bestimmt, ob der Neustart-Manager die Dateien erneut öffnet, die geöffnet wurden, als die Anwendung unerwartet beendet wurde.
virtual BOOL ReopenPreviousFilesAtRestart() const;
Rückgabewert
TRUE gibt an, dass der Neustart-Manager die zuvor geöffneten Dateien erneut öffnet. FALSE gibt an, dass der Neustart-Manager nicht ausgeführt wird.
CWinApp::RestartInstance
Behandelt einen vom Neustart-Manager initiierten Anwendungsneustart.
virtual BOOL CWinApp::RestartInstance();
Rückgabewert
TRUE, wenn der Datenwiederherstellungshandler zuvor geöffnete Dokumente öffnet; FALSE, wenn der Datenwiederherstellungshandler einen Fehler aufweist oder keine zuvor geöffneten Dokumente vorhanden sind.
Hinweise
Wenn der Neustart-Manager eine Anwendung neu startet, ruft das Framework diese Methode auf. Diese Methode ruft den Datenwiederherstellungshandler ab und stellt die automatisch gespeicherten Dateien wieder her. Diese Methode ruft CDataRecoveryHandler::RestoreAutosavedDocuments auf, um zu bestimmen, ob der Benutzer die automatisch gespeicherten Dateien wiederherstellen möchte.
Diese Methode gibt FALSE zurück, wenn der CDataRecoveryHandler bestimmt, dass keine geöffneten Dokumente vorhanden sind. Wenn keine geöffneten Dokumente vorhanden sind, wird die Anwendung in ordnungsmäßig gestartet.
CWinApp::RestoreAutosavedFilesAtRestart
Bestimmt, ob der Neustart-Manager die automatisch gespeicherten Dateien beim Neustart der Anwendung wiederhergestellt.
virtual BOOL RestoreAutosavedFilesAtRestart() const;
Rückgabewert
TRUE gibt an, dass der Neustart-Manager automatisch gespeicherte Dateien wiederhergestellt. FALSE gibt an, dass der Neustart-Manager nicht ausgeführt wird.
CWinApp::Run
Stellt eine Standardnachrichtenschleife bereit.
virtual int Run();
Rückgabewert
Ein int
Wert, der von WinMain
.
Hinweise
Run
Erfasst und verteilt Windows-Nachrichten, bis die Anwendung eine WM_QUIT Nachricht empfängt. Wenn die Nachrichtenwarteschlange der Anwendung derzeit keine Nachrichten enthält, wird OnIdle aufgerufen, Run
um die Leerlaufzeitverarbeitung durchzuführen. Eingehende Nachrichten wechseln zur PreTranslateMessage-Memberfunktion zur speziellen Verarbeitung und dann zur Windows-Funktion TranslateMessage
für die standardmäßige Tastaturübersetzung. Schließlich wird die DispatchMessage
Windows-Funktion aufgerufen.
Run
wird selten außer Kraft gesetzt, sie können jedoch überschrieben werden, um ein spezielles Verhalten bereitzustellen.
CWinApp::RunAutomated
Rufen Sie diese Funktion auf, um festzustellen, ob die Option " /Automation" oder " -Automation" vorhanden ist, was angibt, ob die Serveranwendung von einer Clientanwendung gestartet wurde.
BOOL RunAutomated();
Rückgabewert
Nonzero, wenn die Option gefunden wurde; andernfalls 0.
Hinweise
Wenn vorhanden, wird die Option aus der Befehlszeile entfernt. Weitere Informationen zur OLE-Automatisierung finden Sie im Artikel Automatisierungsserver.
CWinApp::RunEmbedded
Rufen Sie diese Funktion auf, um festzustellen, ob die Option " /Embedding" oder " -Embedding" vorhanden ist, was angibt, ob die Serveranwendung von einer Clientanwendung gestartet wurde.
BOOL RunEmbedded();
Rückgabewert
Nonzero, wenn die Option gefunden wurde; andernfalls 0.
Hinweise
Wenn vorhanden, wird die Option aus der Befehlszeile entfernt. Weitere Informationen zum Einbetten finden Sie im Artikel "Server: Implementieren eines Servers".
CWinApp::SaveAllModified
Wird vom Framework aufgerufen, um alle Dokumente zu speichern, wenn das Hauptframefenster der Anwendung geschlossen werden soll, oder über eine WM_QUERYENDSESSION Nachricht.
virtual BOOL SaveAllModified();
Rückgabewert
Nonzero, wenn sicher, die Anwendung zu beenden; 0, wenn nicht sicher, die Anwendung zu beenden.
Hinweise
Die Standardimplementierung dieser Memberfunktion ruft die Memberfunktion CDocument::SaveModified wiederum für alle geänderten Dokumente innerhalb der Anwendung auf.
CWinApp::SelectPrinter
Rufen Sie diese Memberfunktion auf, um einen bestimmten Drucker auszuwählen, und lassen Sie den Drucker frei, der zuvor im Dialogfeld "Drucken" ausgewählt wurde.
void SelectPrinter(
HANDLE hDevNames,
HANDLE hDevMode,
BOOL bFreeOld = TRUE);
Parameter
hDevNames
Ein Handle für eine DEVNAMES-Abkürzung, die den Treiber, das Gerät und die Ausgabeportnamen eines bestimmten Druckers identifiziert.
hDevMode
Ein Handle für eine DEVMODE-Struktur , die Informationen zur Geräteinitialisierung und Umgebung eines Druckers angibt.
bFreeOld
Gibt den zuvor ausgewählten Drucker frei.
Hinweise
Wenn sowohl hDevMode als auch hDevNames NULL sind, SelectPrinter
wird der aktuelle Standarddrucker verwendet.
CWinApp::SetHelpMode
Legt den Hilfetyp der Anwendung fest.
void SetHelpMode(AFX_HELP_TYPE eHelpType);
Parameter
eHelpType
Gibt den Typ der zu verwendenden Hilfe an. Weitere Informationen finden Sie unter CWinApp::m_eHelpType .
Hinweise
Legt den Hilfetyp der Anwendung fest.
Um den Hilfetyp Ihrer Anwendung auf HTMLHelp festzulegen, können Sie EnableHTMLHelp aufrufen. Nachdem Sie aufgerufen EnableHTMLHelp
haben, muss Ihre Anwendung HTMLHelp als Hilfeanwendung verwenden. Wenn Sie die Verwendung von WinHelp ändern möchten, können Sie eHelpType aufrufen SetHelpMode
und auf "eHelpTypeafxWinHelp
" festlegen.
CWinApp::SetRegistryKey
Bewirkt, dass Anwendungseinstellungen in der Registrierung anstelle von INI-Dateien gespeichert werden.
void SetRegistryKey(LPCTSTR lpszRegistryKey);
void SetRegistryKey(UINT nIDRegistryKey);
Parameter
lpszRegistryKey
Zeigen Sie auf eine Zeichenfolge, die den Namen des Schlüssels enthält.
nIDRegistryKey
ID einer Zeichenfolgenressource, die den Namen des Registrierungsschlüssels enthält.
Hinweise
Diese Funktion legt m_pszRegistryKey fest, die dann von den GetProfileInt
Funktionen , GetProfileString
, WriteProfileInt
, und WriteProfileString
Member von CWinApp
. Wenn diese Funktion aufgerufen wurde, wird auch die Liste der zuletzt verwendeten (MRU)-Dateien in der Registrierung gespeichert. Der Registrierungsschlüssel ist in der Regel der Name eines Unternehmens. Sie wird in einem Schlüssel des folgenden Formulars gespeichert: HKEY_CURRENT_USER\Software\Firmenname\<Anwendungsname>>\<Abschnittsname\<Wertname>>.<
CWinApp::SupportsApplicationRecovery
Bestimmt, ob der Neustart-Manager eine Anwendung wiederherstellt, die unerwartet beendet wurde.
virtual BOOL SupportsApplicationRecovery() const;
Rückgabewert
TRUE gibt an, dass der Neustart-Manager die Anwendung wiederhergestellt. FALSE gibt an, dass der Neustart-Manager nicht ausgeführt wird.
CWinApp::SupportsAutosaveAtInterval
Bestimmt, ob der Neustart-Manager dokumente automatisch in regelmäßigen Abständen öffnet.
virtual BOOL SupportsAutosaveAtInterval() const;
Rückgabewert
TRUE gibt an, dass der Neustart-Manager geöffnete Dokumente automatisch gespeichert. FALSE gibt an, dass der Neustart-Manager nicht ausgeführt wird.
CWinApp::SupportsAutosaveAtRestart
Bestimmt, ob der Neustart-Manager beim Neustarten geöffnete Dokumente automatisch gespeichert.
virtual BOOL SupportsAutosaveAtRestart() const;
Rückgabewert
TRUE gibt an, dass der Neustart-Manager dokumente automatisch gespeichert, wenn die Anwendung neu gestartet wird. FALSE gibt an, dass der Neustart-Manager nicht ausgeführt wird.
CWinApp::SupportsRestartManager
Bestimmt, ob die Anwendung den Neustart-Manager unterstützt.
virtual BOOL SupportsRestartManager() const;
Rückgabewert
TRUE gibt an, dass die Anwendung den Neustart-Manager unterstützt; FALSE gibt an, dass die Anwendung nicht.
CWinApp::Unregister
Hebt die Registrierung aller dateien auf, die vom Anwendungsobjekt registriert wurden.
virtual BOOL Unregister();
Rückgabewert
Bei Erfolg ein Wert ungleich 0 (null), andernfalls 0 (null).
Hinweise
Die Unregister
Funktion rückgängigmachen die Registrierung, die vom Anwendungsobjekt und der Register-Funktion ausgeführt wird. Normalerweise werden beide Funktionen implizit von MFC aufgerufen und werden daher nicht in Ihrem Code angezeigt.
Überschreiben Sie diese Funktion, um benutzerdefinierte Schritte zum Aufheben der Registrierung auszuführen.
CWinApp::UnregisterShellFileTypes
Rufen Sie diese Memberfunktion auf, um die Registrierung aller Dokumenttypen Ihrer Anwendung mit dem Windows-Datei-Manager aufzuheben.
void UnregisterShellFileTypes();
CWinApp::WinHelp
Rufen Sie diese Memberfunktion auf, um die WinHelp-Anwendung aufzurufen.
virtual void WinHelp(
DWORD_PTR dwData,
UINT nCmd = HELP_CONTEXT);
Parameter
dwData
Gibt zusätzliche Daten an. Der verwendete Wert hängt vom Wert des nCmd-Parameters ab.
nCmd
Gibt den Typ der angeforderten Hilfe an. Eine Liste der möglichen Werte und deren Auswirkungen auf den dwData-Parameter finden Sie in der WinHelp Windows-Funktion.
Hinweise
Das Framework ruft diese Funktion auch auf, um die WinHelp-Anwendung aufzurufen.
Das Framework schließt die WinHelp-Anwendung automatisch, wenn Ihre Anwendung beendet wird.
Beispiel
// Header File: HELPIDS.H
//
// This example header file is #include'd twice:
// (1) It is #include'd by the .CPP file that passes the DWORD
// context i.d. to CWinApp::WinHelp.
// (2) It is #include'd in the [MAP] section of the .HPJ file,
// to associate the help context string "HID_MYTOPIC" with
// the help context numeric i.d., 101.
// The help context string "HID_MYTOPIC" is what identifies the
// help topic in the help .RTF source file, in the "#" footnote:
// # HID_MYTOPIC
//
// Note, it is not necessary to manage help context id's this way
// for help topics associated with command id's and user interface
// id's defined in your RESOURCE.H file; you should use the MAKEHM
// tool via the custom build rule on your resource.h file to produce
// a help map (.HM) file for these id's. It is necessary to manage
// help context id's as illustrated here only for help topics not
// associated with command id's or user interface id's.
#define HID_MYTOPIC 101
// Show the custom help topic that has the context string
// "HID_MYTOPIC" in the help .RTF file, and which is mapped
// to the DWORD i.d. HID_MYTOPIC in the above HELPIDS.H file.
AfxGetApp()->WinHelp(HID_MYTOPIC);
// The following is one line of code in the help map (.HM)
// file produced by the MAKEHM tool, which is called by the custom
// build rule on the resource.h file. The MAKEHM tool reads the
// following #define in the application's RESOURCE.H file:
#define ID_MYCOMMAND 0x08004
// and adds a help id offset value of 0x10000 to create the
// help context DWORD value 0x18004:
// HID_MYCOMMAND 0x18004
// See MFC Tech Note 28 for more information on help id offset values.
// Rarely will you need to directly call WinHelp yourself
// with the help context i.d. for a command or user interface
// object. The framework will call WinHelp automatically when
// the user, for example, hits F1 when the focus is on a
// My Command menu item. However, if you do want to directly
// call WinHelp for the help topic associated with the command,
// here is how you would do it:
AfxGetApp()->WinHelp(0x10000 + ID_MYCOMMAND);
CWinApp::WriteProfileBinary
Rufen Sie diese Memberfunktion auf, um Binärdaten in den angegebenen Abschnitt der Registrierung der Anwendung zu schreiben. INI-Datei.
BOOL WriteProfileBinary(
LPCTSTR lpszSection,
LPCTSTR lpszEntry,
LPBYTE pData,
UINT nBytes);
Parameter
lpszSection
Zeigt auf eine auf NULL endende Zeichenfolge, die den Abschnitt mit dem Eintrag angibt. Wenn der Abschnitt nicht vorhanden ist, wird er erstellt. Der Name des Abschnitts ist unabhängig; Die Zeichenfolge kann eine beliebige Kombination aus Groß- und Kleinbuchstaben sein.
lpszEntry
Verweist auf eine mit Null beendete Zeichenfolge, die den Eintrag enthält, in den der Wert geschrieben werden soll. Wenn der Eintrag im angegebenen Abschnitt nicht vorhanden ist, wird er erstellt.
pData
Verweist auf die zu schreibenden Daten.
nBytes
Enthält die Anzahl der zu schreibenden Bytes.
Rückgabewert
Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).
Beispiel
In diesem Beispiel wird CWinApp* pApp = AfxGetApp();
die CWinApp-Klasse verwendet, um eine Methode zu veranschaulichen, die WriteProfileBinary
von GetProfileBinary
jeder Funktion in einer MFC-Anwendung verwendet werden kann.
CWinApp *pApp = AfxGetApp();
CString strSection = _T("My Section");
CString strItem = _T("My Binary Item");
double myData = 123.456e12;
pApp->WriteProfileBinary(strSection, strItem, (LPBYTE)&myData, sizeof(myData));
double *pData;
UINT n;
pApp->GetProfileBinary(strSection, strItem, (LPBYTE*)&pData, &n);
ASSERT(n == sizeof(myData));
ASSERT(myData = *pData);
delete[] pData; // free the buffer
Ein weiteres Beispiel finden Sie im Beispiel für CWinApp::GetProfileBinary.
CWinApp::WriteProfileInt
Rufen Sie diese Memberfunktion auf, um den angegebenen Wert in den angegebenen Abschnitt der Registrierung der Anwendung zu schreiben. INI-Datei.
BOOL WriteProfileInt(
LPCTSTR lpszSection,
LPCTSTR lpszEntry,
int nValue);
Parameter
lpszSection
Zeigt auf eine auf NULL endende Zeichenfolge, die den Abschnitt mit dem Eintrag angibt. Wenn der Abschnitt nicht vorhanden ist, wird er erstellt. Der Name des Abschnitts ist unabhängig; Die Zeichenfolge kann eine beliebige Kombination aus Groß- und Kleinbuchstaben sein.
lpszEntry
Verweist auf eine mit Null beendete Zeichenfolge, die den Eintrag enthält, in den der Wert geschrieben werden soll. Wenn der Eintrag im angegebenen Abschnitt nicht vorhanden ist, wird er erstellt.
nValue
Enthält den zu schreibenden Wert.
Rückgabewert
Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).
Beispiel
In diesem Beispiel wird CWinApp* pApp = AfxGetApp();
die CWinApp-Klasse verwendet, die eine Methode veranschaulicht, die WriteProfileString
von WriteProfileInt
GetProfileString
GetProfileInt
jeder Funktion in einer MFC-Anwendung verwendet werden kann.
CWinApp *pApp = AfxGetApp();
CString strSection = _T("My Section");
CString strStringItem = _T("My String Item");
CString strIntItem = _T("My Int Item");
pApp->WriteProfileString(strSection, strStringItem, _T("test"));
CString strValue;
strValue = pApp->GetProfileString(strSection, strStringItem);
ASSERT(strValue == _T("test"));
pApp->WriteProfileInt(strSection, strIntItem, 1234);
int nValue;
nValue = pApp->GetProfileInt(strSection, strIntItem, 0);
ASSERT(nValue == 1234);
Ein weiteres Beispiel finden Sie im Beispiel für CWinApp::GetProfileInt.
CWinApp::WriteProfileString
Rufen Sie diese Memberfunktion auf, um die angegebene Zeichenfolge in den angegebenen Abschnitt der Registrierung der Anwendung oder . INI-Datei.
BOOL WriteProfileString(
LPCTSTR lpszSection,
LPCTSTR lpszEntry,
LPCTSTR lpszValue);
Parameter
lpszSection
Zeigt auf eine auf NULL endende Zeichenfolge, die den Abschnitt mit dem Eintrag angibt. Wenn der Abschnitt nicht vorhanden ist, wird er erstellt. Der Name des Abschnitts ist unabhängig; Die Zeichenfolge kann eine beliebige Kombination aus Groß- und Kleinbuchstaben sein.
lpszEntry
Verweist auf eine mit Null beendete Zeichenfolge, die den Eintrag enthält, in den der Wert geschrieben werden soll. Wenn der Eintrag im angegebenen Abschnitt nicht vorhanden ist, wird er erstellt. Wenn dieser Parameter NULL ist, wird der durch lpszSection angegebene Abschnitt gelöscht.
lpszValue
Verweist auf die zu schreibende Zeichenfolge. Wenn dieser Parameter NULL ist, wird der durch den lpszEntry-Parameter angegebene Eintrag gelöscht.
Rückgabewert
Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).
Beispiel
CWinApp *pApp = AfxGetApp();
CString strSection = _T("My Section");
CString strStringItem = _T("My String Item");
CString strIntItem = _T("My Int Item");
pApp->WriteProfileString(strSection, strStringItem, _T("test"));
CString strValue;
strValue = pApp->GetProfileString(strSection, strStringItem);
ASSERT(strValue == _T("test"));
pApp->WriteProfileInt(strSection, strIntItem, 1234);
int nValue;
nValue = pApp->GetProfileInt(strSection, strIntItem, 0);
ASSERT(nValue == 1234);
Ein weiteres Beispiel finden Sie im Beispiel für CWinApp::GetProfileInt.
CWinApp::SetAppID
Legt die Anwendungsbenutzermodell-ID für die Anwendung explizit fest. Diese Methode sollte aufgerufen werden, bevor dem Benutzer eine Benutzeroberfläche angezeigt wird (der beste Ort ist der Anwendungskonstruktor).
void SetAppID(LPCTSTR lpcszAppID);
Parameter
lpcszAppID
Gibt die Anwendungsbenutzermodell-ID an.
Hinweise
Siehe auch
CWinThread-Klasse
Hierarchiediagramm
Vorgehensweise: Hinzufügen von Unterstützung für den Neustart-Manager