Dela via


CWinApp-klass

Basklassen som du härleder ett Windows-programobjekt från.

Syntax

class CWinApp : public CWinThread

Medlemmar

Offentliga konstruktorer

Namn Beskrivning
CWinApp::CWinApp Konstruerar ett CWinApp objekt.

Offentliga metoder

Namn Beskrivning
CWinApp::AddDocTemplate Lägger till en dokumentmall i programmets lista över tillgängliga dokumentmallar.
CWinApp::AddToRecentFileList Lägger till ett filnamn i den senast använda fillistan (MRU).
CWinApp::ApplicationRecoveryCallback Anropas av ramverket när programmet oväntat avslutas.
CWinApp::CloseAllDocuments Stänger alla öppna dokument.
CWinApp::CreatePrinterDC Skapar en skrivarenhetskontext.
CWinApp::D elRegTree Tar bort en angiven nyckel och alla dess undernycklar.
CWinApp::D oMessageBox Implementerar AfxMessageBox- för programmet.
CWinApp::D oWaitCursor Aktiverar och inaktiverar väntemarkören.
CWinApp::EnableD2DSupport Aktiverar program-D2D-stöd. Anropa den här metoden innan huvudfönstret initieras.
CWinApp::EnableHtmlHelp Implementerar HTMLHjälp för programmet i stället för WinHelp.
CWinApp::EnableTaskbarInteraction Aktiverar interaktion med aktivitetsfältet.
CWinApp::ExitInstance Åsidosätt för att rensa när programmet avslutas.
CWinApp::GetApplicationRecoveryParameter Hämtar indataparametern för programåterställningsmetoden.
CWinApp::GetApplicationRecoveryPingInterval Returnerar hur lång tid omstartshanteraren väntar på att återställningsåteranropsfunktionen ska returneras.
CWinApp::GetApplicationRestartFlags Returnerar flaggorna för omstartshanteraren.
CWinApp::GetAppRegistryKey Returnerar nyckeln för HKEY_CURRENT_USER\"Software"\RegistryKey\ProfileName.
CWinApp::GetDataRecoveryHandler Hämtar dataåterställningshanteraren för den här instansen av programmet.
CWinApp::GetFirstDocTemplatePosition Hämtar positionen för den första dokumentmallen.
CWinApp::GetHelpMode Hämtar den typ av hjälp som används av programmet.
CWinApp::GetNextDocTemplate Hämtar positionen för en dokumentmall. Kan användas rekursivt.
CWinApp::GetPrinterDeviceDefaults Hämtar standardinställningarna för skrivarenheten.
CWinApp::GetProfileBinary Hämtar binära data från en post i programmets . INI-fil.
CWinApp::GetProfileInt Hämtar ett heltal från en post i programmets . INI-fil.
CWinApp::GetProfileString Hämtar en sträng från en post i programmets . INI-fil.
CWinApp::GetSectionKey Returnerar nyckeln för HKEY_CURRENT_USER\"Software"\RegistryKey\AppName\lpszSection.
CWinApp::HideApplication Döljer programmet innan du stänger alla dokument.
CWinApp::HtmlHelp Anropar funktionen HTMLHelp Windows.
CWinApp::InitInstance Åsidosätt för att utföra initiering av Windows-instanser, till exempel att skapa dina fönsterobjekt.
CWinApp::IsTaskbarInteractionEnabled Anger om interaktion med Aktivitetsfältet i Windows 7 är aktiverat.
CWinApp::LoadCursor Läser in en markörresurs.
CWinApp::LoadIcon Läser in en ikonresurs.
CWinApp::LoadOEMCursor Läser in en fördefinierad Windows OEM-markör som OCR_ konstanter anger i WINDOWS.H.
CWinApp::LoadOEMIcon Läser in en fördefinierad Windows OEM-ikon som OIC_ konstanter anger i WINDOWS.H.
CWinApp::LoadStandardCursor Läser in en fördefinierad Windows-markör som IDC_ konstanter anger i WINDOWS.H.
CWinApp::LoadStandardIcon Läser in en fördefinierad Windows-ikon som IDI_ konstanter anger i WINDOWS.H.
CWinApp::OnDDECommand Anropas av ramverket som svar på ett DDE-körningskommando (Dynamic Data Exchange).
CWinApp::OnIdle Åsidosätt för att utföra programspecifik bearbetning av inaktivitetstid.
CWinApp::OpenDocumentFile Anropas av ramverket för att öppna ett dokument från en fil.
CWinApp::P arseCommandLine Parsar enskilda parametrar och flaggor på kommandoraden.
CWinApp::P reTranslateMessage Filtrerar meddelanden innan de skickas till Windows-funktionerna TranslateMessage och DispatchMessage.
CWinApp::P rocessMessageFilter Fångar upp vissa meddelanden innan de når programmet.
CWinApp::P rocessShellCommand Hanterar kommandoradsargument och flaggor.
CWinApp::P rocessWndProcException Fångar upp alla ohanterade undantag som genereras av programmets meddelande- och kommandohanterare.
CWinApp::Registrera Utför anpassad registrering.
CWinApp::RegisterWithRestartManager Registrerar programmet med omstartshanteraren.
CWinApp::ReopenPreviousFilesAtRestart Avgör om omstartshanteraren öppnar filerna som var öppna när programmet avslutades oväntat.
CWinApp::RestartInstance Hanterar en omstart av programmet som initieras av omstartshanteraren.
CWinApp::RestoreAutosavedFilesAtRestart Avgör om omstartshanteraren återställer filer som sparats automatiskt när programmet startas om.
CWinApp::Kör Kör standardmeddelandeloopen. Åsidosätt för att anpassa meddelandeloopen.
CWinApp::RunAutomated Testar programmets kommandorad för alternativet /Automation. Föråldrad. Använd i stället värdet i CCommandLineInfo::m_bRunAutomated efter att ha anropat ParseCommandLine.
CWinApp::RunEmbedded Testar programmets kommandorad för alternativet /Embedding. Föråldrad. Använd i stället värdet i CCommandLineInfo::m_bRunEmbedded efter att ha anropat ParseCommandLine.
CWinApp::SaveAllModified Uppmanar användaren att spara alla ändrade dokument.
CWinApp::SelectPrinter Väljer en skrivare som tidigare angetts av en användare via en utskriftsdialogruta.
CWinApp::SetHelpMode Anger och initierar den typ av hjälp som används av programmet.
CWinApp::SupportsApplicationRecovery Avgör om omstartshanteraren återställer ett program som oväntat avslutades.
CWinApp::SupportsAutosaveAtInterval Avgör om omstartshanteraren automatiskt ska spara öppna dokument med jämna mellanrum.
CWinApp::SupportsAutosaveAtRestart Avgör om omstartshanteraren automatiskt ska spara öppna dokument när programmet startas om.
CWinApp::SupportsRestartManager Avgör om programmet stöder omstartshanteraren.
CWinApp::Avregistrera Avregistrerar allt som är känt för att registreras av CWinApp-objektet.
CWinApp::WinHelp Anropar funktionen WinHelp Windows.
CWinApp::WriteProfileBinary Skriver binära data till en post i programmets . INI-fil.
CWinApp::WriteProfileInt Skriver ett heltal till en post i programmets . INI-fil.
CWinApp::WriteProfileString Skriver en sträng till en post i programmets . INI-fil.

Skyddade metoder

Namn Beskrivning
CWinApp::EnableShellOpen Tillåter att användaren öppnar datafiler från Windows-filhanteraren.
CWinApp::LoadStdProfileSettings Läser in standard . INI-filinställningar och aktiverar funktionen FÖR MRU-fillista.
CWinApp::OnContextHelp Hanterar SKIFT+F1-hjälpen i programmet.
CWinApp::OnFileNy Implementerar kommandot ID_FILE_NEW.
CWinApp::OnFileOpen Implementerar kommandot ID_FILE_OPEN.
CWinApp::OnFilePrintSetup Implementerar kommandot ID_FILE_PRINT_SETUP.
CWinApp::OnHelp Hanterar F1-hjälpen i programmet (med den aktuella kontexten).
CWinApp::OnHelpFinder Hanterar kommandona ID_HELP_FINDER och ID_DEFAULT_HELP.
CWinApp::OnHelpIndex Hanterar kommandot ID_HELP_INDEX och innehåller ett standardavsnitt för hjälp.
CWinApp::OnHelpUsing Hanterar kommandot ID_HELP_USING.
CWinApp::RegisterShellFileTypes Registrerar alla programdokumenttyper med Windows-filhanteraren.
CWinApp::SetAppID Anger uttryckligen programanvändarmodell-ID för programmet. Den här metoden bör anropas innan något användargränssnitt visas för användaren (det bästa stället är programkonstruktorn).
CWinApp::SetRegistryKey Gör att programinställningarna lagras i registret i stället för . INI-filer.
CWinApp::AvregistreraShellFileTypes Avregistrerar alla programdokumenttyper med Windows-filhanteraren.

Medlemmar i offentliga data

Namn Beskrivning
CWinApp::m_bHelpMode Anger om användaren är i hjälpkontextläge (anropas vanligtvis med SKIFT+F1).
CWinApp::m_eHelpType Anger vilken typ av hjälp som används av programmet.
CWinApp::m_hInstance Identifierar den aktuella instansen av programmet.
CWinApp::m_lpCmdLine Pekar på en null-avslutad sträng som anger kommandoraden för programmet.
CWinApp::m_nCmdShow Anger hur fönstret ska visas från början.
CWinApp::m_pActiveWnd Pekare till huvudfönstret i containerprogrammet när en OLE-server är aktiv på plats.
CWinApp::m_pszAppID Programanvändarmodell-ID.
CWinApp::m_pszAppName Anger namnet på programmet.
CWinApp::m_pszExeName Programmets modulnamn.
CWinApp::m_pszHelpFilePath Sökvägen till programmets hjälpfil.
CWinApp::m_pszProfileName Programmets . INI-filnamn.
CWinApp::m_pszRegistryKey Används för att fastställa den fullständiga registernyckeln för lagring av programprofilinställningar.

Skyddade datamedlemmar

Namn Beskrivning
CWinApp::m_dwRestartManagerSupportFlags Flaggor som avgör hur omstartshanteraren fungerar.
CWinApp::m_nAutosaveInterval Längden på tiden i millisekunder mellan autospar.
CWinApp::m_pDataRecoveryHandler Pekare till dataåterställningshanteraren för programmet.

Anmärkningar

Ett programobjekt innehåller medlemsfunktioner för att initiera ditt program (och varje instans av det) och för att köra programmet.

Varje program som använder Microsoft Foundation-klasserna kan bara innehålla ett objekt som härleds från CWinApp. Det här objektet konstrueras när andra globala C++-objekt konstrueras och redan är tillgängligt när Windows anropar funktionen WinMain, som tillhandahålls av Microsoft Foundation-klassbiblioteket. Deklarera ditt härledda CWinApp objekt på global nivå.

När du härleder en programklass från CWinAppåsidosätter du funktionen InitInstance medlem för att skapa programmets huvudfönsterobjekt.

Förutom de CWinApp medlemsfunktionerna tillhandahåller Microsoft Foundation-klassbiblioteket följande globala funktioner för att få åtkomst till ditt CWinApp-objekt och annan global information:

  • AfxGetApp Hämtar en pekare till CWinApp-objektet.

  • AfxGetInstanceHandle Hämtar ett handtag till den aktuella programinstansen.

  • AfxGetResourceHandle Hämtar ett handtag till programmets resurser.

  • AfxGetAppName Hämtar en pekare till en sträng som innehåller programmets namn. Om du har en pekare till CWinApp-objektet kan du också använda m_pszExeName för att hämta programmets namn.

Mer information om klassen CWinApp finns i CWinApp: Application Class, inklusive en översikt över följande:

  • CWinApp-härledd kod som skrivits av programguiden.

  • CWinApproll i körningssekvensen för ditt program.

  • CWinAppstandardimplementeringar för medlemsfunktioner.

  • CWinAppviktigaste overridables.

Den m_hPrevInstance datamedlemmen finns inte längre. Om du vill ta reda på om en annan instans av programmet körs använder du en namngiven mutex. Om det inte går att öppna mutex finns det inga andra instanser av programmet som körs.

Arvshierarki

CObject

CCmdTarget

CWinThread

CWinApp

Krav

rubrik: afxwin.h

CWinApp::AddDocTemplate

Anropa den här medlemsfunktionen för att lägga till en dokumentmall i listan över tillgängliga dokumentmallar som programmet underhåller.

void AddDocTemplate(CDocTemplate* pTemplate);

Parametrar

pTemplate
En pekare till CDocTemplate som ska läggas till.

Anmärkningar

Du bör lägga till alla dokumentmallar i ett program innan du anropar RegisterShellFileTypes.

Exempel

// 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

Anropa den här medlemsfunktionen för att lägga till lpszPathName- i MRU-fillistan.

virtual void AddToRecentFileList(LPCTSTR lpszPathName);

Parametrar

lpszPathName
Sökvägen till filen.

Anmärkningar

Du bör anropa funktionen LoadStdProfileSettings medlem för att läsa in den aktuella MRU-fillistan innan du använder den här medlemsfunktionen.

Ramverket anropar den här medlemsfunktionen när den öppnar en fil eller kör kommandot Spara som för att spara en fil med ett nytt namn.

Exempel

// 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

Anropas av ramverket när programmet oväntat avslutas.

virtual DWORD ApplicationRecoveryCallback(LPVOID lpvParam);

Parametrar

lpvParam
[i] Reserverad för framtida användning.

Returvärde

0 om den här metoden lyckas; nonzero om ett fel inträffar.

Anmärkningar

Om programmet stöder omstartshanteraren anropar ramverket den här funktionen när programmet oväntat avslutas.

Standardimplementeringen av ApplicationRecoveryCallback använder CDataRecoveryHandler för att spara listan över öppna dokument i registret. Den här metoden sparar inga filer automatiskt.

Om du vill anpassa beteendet åsidosätter du den här funktionen i en härledd CWinApp Class- eller skickar din egen programåterställningsmetod som en parameter för att CWinApp::RegisterWithRestartManager.

CWinApp::CloseAllDocuments

Anropa den här medlemsfunktionen för att stänga alla öppna dokument innan du avslutar.

void CloseAllDocuments(BOOL bEndSession);

Parametrar

bEndSession
Anger om Windows-sessionen avslutas eller inte. Det är SANT om sessionen avslutas. annars FALSKT.

Anmärkningar

Anropa HideApplication- innan du anropar CloseAllDocuments.

CWinApp::CreatePrinterDC

Anropa den här medlemsfunktionen för att skapa en skrivarenhetskontext (DC) från den valda skrivaren.

BOOL CreatePrinterDC(CDC& dc);

Parametrar

dc
En referens till en skrivarenhetskontext.

Returvärde

Nonzero om skrivarenhetens kontext har skapats. annars 0.

Anmärkningar

CreatePrinterDC initierar enhetskontexten som du skickar in med referens, så att du kan använda den för att skriva ut.

Om funktionen lyckas måste du förstöra enhetskontexten när du är klar med utskriften. Du kan låta destruktor för CDC- objekt göra det, eller så kan du göra det explicit genom att anropa CDC::D eleteDC.

CWinApp::CWinApp

Konstruerar ett CWinApp objekt och skickar lpszAppName- som ska lagras som programnamn.

CWinApp(LPCTSTR lpszAppName = NULL);

Parametrar

lpszAppName
En null-avslutad sträng som innehåller programnamnet som Windows använder. Om det här argumentet inte anges eller är NULL använder CWinApp resurssträngen AFX_IDS_APP_TITLE eller filnamnet för den körbara filen.

Anmärkningar

Du bör skapa ett globalt objekt i klassen CWinApp-derived. Du kan bara ha ett CWinApp objekt i ditt program. Konstruktorn lagrar en pekare till CWinApp-objektet så att WinMain kan anropa objektets medlemsfunktioner för att initiera och köra programmet.

CWinApp::D elRegTree

Tar bort en specifik registernyckel och alla dess undernycklar.

LONG DelRegTree(
    HKEY hParentKey,
    const CString& strKeyName);

LONG DelRegTree(
    HKEY hParentKey,
    const CString& strKeyName,
    CAtlTransactionManager* pTM = NULL);

Parametrar

hParentKey
Hantera till en registernyckel.

strKeyName
Namnet på registernyckeln som ska tas bort.

pTM-
Pekare till CAtlTransactionManager-objekt.

Returvärde

Om funktionen lyckas är returvärdet ERROR_SUCCESS. Om funktionen misslyckas är returvärdet en felkod som inte är noll som definierats i Winerror.h.

Anmärkningar

Anropa den här funktionen för att ta bort den angivna nyckeln och dess undernycklar.

CWinApp::D oMessageBox

Ramverket anropar den här medlemsfunktionen för att implementera en meddelanderuta för den globala funktionen AfxMessageBox.

virtual int DoMessageBox(
    LPCTSTR lpszPrompt,
    UINT nType,
    UINT nIDPrompt);

Parametrar

lpszPrompt
Textadress i meddelanderutan.

nType
Meddelanderutan formatmallen.

nIDPrompt
Ett index till en hjälpkontextsträng.

Returvärde

Returnerar samma värden som AfxMessageBox.

Anmärkningar

Anropa inte den här medlemsfunktionen för att öppna en meddelanderuta. använd AfxMessageBox i stället.

Åsidosätt den här medlemsfunktionen för att anpassa din programomfattande bearbetning av AfxMessageBox-anrop.

CWinApp::D oWaitCursor

Den här medlemsfunktionen anropas av ramverket för att implementera CWaitCursor, CCmdTarget::BeginWaitCursor, CCmdTarget::EndWaitCursoroch CCmdTarget::RestoreWaitCursor.

virtual void DoWaitCursor(int nCode);

Parametrar

nCode
Om den här parametern är 1 visas en väntemarkör. Om 0 återställs väntemarkören utan att öka referensantalet. Om -1 slutar väntemarkören.

Anmärkningar

Standardinställningen implementerar en timglasmarkör. DoWaitCursor upprätthåller ett referensantal. När det är positivt visas timglasmarkören.

Även om du normalt inte anropar DoWaitCursor direkt kan du åsidosätta den här medlemsfunktionen för att ändra väntemarkören eller utföra ytterligare bearbetning medan väntemarkören visas.

Använd CWaitCursorför ett enklare och effektivare sätt att implementera en väntemarkör.

Exempel

// 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 krävs.

Aktiverar program-D2D-stöd. Anropa den här metoden innan huvudfönstret initieras.

BOOL EnableD2DSupport(
    D2D1_FACTORY_TYPE d2dFactoryType = D2D1_FACTORY_TYPE_SINGLE_THREADED,
    DWRITE_FACTORY_TYPE writeFactoryType = DWRITE_FACTORY_TYPE_SHARED);

Parametrar

d2dFactoryType
Trådningsmodellen för D2D-fabriken och de resurser som skapas.

writeFactoryType
Ett värde som anger om skrivfabriksobjektet ska delas eller isoleras

Returvärde

Returnerar TRUE om D2D-stöd har aktiverats, FALSE – annars

CWinApp::EnableHtmlHelp

Anropa den här medlemsfunktionen inifrån konstruktorn för din CWinApp-derived-klass för att använda HTMLHjälp för programmets hjälp.

void EnableHtmlHelp();

Anmärkningar

CWinApp::EnableShellOpen

Anropa den här funktionen, vanligtvis från din InitInstance åsidosättning, för att göra det möjligt för programmets användare att öppna datafiler när de dubbelklickar på filerna från Windows-filhanteraren.

void EnableShellOpen();

Anmärkningar

Anropa funktionen RegisterShellFileTypes medlem tillsammans med den här funktionen eller ange en . REG-fil med ditt program för manuell registrering av dokumenttyper.

Exempel

// 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

Aktiverar interaktion med aktivitetsfältet.

BOOL EnableTaskbarInteraction(BOOL bEnable = TRUE);

Parametrar

bEnable
Anger om interaktion med Aktivitetsfältet i Windows 7 ska vara aktiverat (TRUE) eller inaktiverat (FALSE).

Returvärde

Returnerar TRUE om interaktion med aktivitetsfältet kan aktiveras eller inaktiveras.

Anmärkningar

Den här metoden måste anropas innan huvudfönstret skapas, annars bekräftas och returneras FALSE.

CWinApp::ExitInstance

Anropas av ramverket inifrån funktionen Run medlem för att avsluta den här instansen av programmet.

virtual int ExitInstance();

Returvärde

Programmets slutkod; 0 anger inga fel och värden större än 0 indikerar ett fel. Det här värdet används som returvärde från WinMain.

Anmärkningar

Anropa inte den här medlemsfunktionen var som helst, men i funktionen Run medlem.

Standardimplementeringen av den här funktionen skriver ramverksalternativ till programmets . INI-fil. Åsidosätt den här funktionen för att rensa när programmet avslutas.

Exempel

int CMyApp::ExitInstance()
{
   if (m_pMySampleMem)
      delete m_pMySampleMem;

   DoCleanup();

   return CWinApp::ExitInstance();
}

CWinApp::GetApplicationRecoveryParameter

Hämtar indataparametern för programåterställningsmetoden.

virtual LPVOID GetApplicationRecoveryParameter();

Returvärde

Standardindataparametern för programåterställningsmetoden.

Anmärkningar

Standardbeteendet för den här funktionen returnerar NULL.

Mer information finns i CWinApp::ApplicationRecoveryCallback.

CWinApp::GetApplicationRecoveryPingInterval

Returnerar hur lång tid omstartshanteraren väntar på att återställningsåteranropsfunktionen ska returneras.

virtual DWORD GetApplicationRecoveryPingInterval();

Returvärde

Längden på tiden i millisekunder.

Anmärkningar

När ett program som är registrerat med omstartshanteraren avslutas oväntat försöker programmet spara öppna dokument och anropar återanropsfunktionen för återställning. Standardåteranropsfunktionen för återställning är CWinApp::ApplicationRecoveryCallback.

Hur lång tid ramverket väntar på att återställningsåteranropsfunktionen ska returnera är pingintervallet. Du kan anpassa pingintervallet genom att åsidosätta CWinApp::GetApplicationRecoveryPingInterval eller genom att ange ett anpassat värde för att RegisterWithRestartManager.

CWinApp::GetApplicationRestartFlags

Returnerar flaggorna för omstartshanteraren.

virtual DWORD GetApplicationRestartFlags();

Returvärde

Flaggorna för omstartshanteraren. Standardimplementeringen returnerar 0.

Anmärkningar

Flaggorna för omstartshanteraren har ingen effekt med standardimplementeringen. De tillhandahålls för framtida användning.

Du anger flaggorna när du registrerar programmet med omstartshanteraren med hjälp av CWinApp::RegisterWithRestartManager.

Möjliga värden för omstartshanterarens flaggor är följande:

  • RESTART_NO_CRASH

  • RESTART_NO_HANG

  • RESTART_NO_PATCH

  • RESTART_NO_REBOOT

CWinApp::GetAppRegistryKey

Returnerar nyckeln för HKEY_CURRENT_USER\"Software"\RegistryKey\ProfileName.

HKEY GetAppRegistryKey(CAtlTransactionManager* pTM = NULL);

Parametrar

pTM-
Pekare till ett CAtlTransactionManager objekt.

Returvärde

Programnyckel om funktionen lyckas; annars NULL.

Anmärkningar

CWinApp::GetDataRecoveryHandler

Hämtar dataåterställningshanteraren för den här instansen av programmet.

virtual CDataRecoveryHandler *GetDataRecoveryHandler();

Returvärde

Dataåterställningshanteraren för den här instansen av programmet.

Anmärkningar

Varje program som använder omstartshanteraren måste ha en instans av CDataRecoveryHandler Class. Den här klassen ansvarar för att övervaka öppna dokument och spara filer automatiskt. Beteendet för CDataRecoveryHandler beror på konfigurationen av omstartshanteraren. Mer information finns i CDataRecoveryHandler Class.

Den här metoden returnerar NULL på operativsystem som är tidigare än Windows Vista. Omstartshanteraren stöds inte på tidigare operativsystem än Windows Vista.

Om programmet för närvarande inte har någon dataåterställningshanterare skapar den här metoden en och returnerar en pekare till den.

CWinApp::GetFirstDocTemplatePosition

Hämtar positionen för den första dokumentmallen i programmet.

POSITION GetFirstDocTemplatePosition() const;

Returvärde

Ett POSITION-värde som kan användas för iteration eller hämtning av objektpekare. NULL om listan är tom.

Anmärkningar

Använd värdet POSITION som returneras i ett anrop för att GetNextDocTemplate för att hämta det första CDocTemplate--objektet.

CWinApp::GetHelpMode

Hämtar den typ av hjälp som används av programmet.

AFX_HELP_TYPE GetHelpMode();

Returvärde

Hjälptypen som används av programmet. Mer information finns i CWinApp::m_eHelpType.

CWinApp::GetNextDocTemplate

Hämtar dokumentmallen som identifieras av posoch anger sedan pos till VÄRDET POSITION.

CDocTemplate* GetNextDocTemplate(POSITION& pos) const;

Parametrar

pos
En referens till ett POSITION-värde som returnerades av ett tidigare anrop till GetNextDocTemplate eller GetFirstDocTemplatePosition. Värdet uppdateras till nästa position av det här anropet.

Returvärde

En pekare till ett CDocTemplate-objekt.

Anmärkningar

Du kan använda GetNextDocTemplate i en iterationsloop om du upprättar den första positionen med ett anrop till GetFirstDocTemplatePosition.

Du måste se till att ditt POSITION-värde är giltigt. Om den är ogiltig hävdar felsökningsversionen av Microsoft Foundation-klassbiblioteket.

Om den hämtade dokumentmallen är den senast tillgängliga anges det nya värdet för pos till NULL.

CWinApp::GetPrinterDeviceDefaults

Anropa den här medlemsfunktionen för att förbereda en skrivarenhetskontext för utskrift.

BOOL GetPrinterDeviceDefaults(struct tagPDA* pPrintDlg);

Parametrar

pPrintDlg
En pekare till en PRINTDLG- struktur.

Returvärde

Nonzero om det lyckas; annars 0.

Anmärkningar

Hämtar den aktuella skrivarens standardvärden från Windows . INI-fil efter behov eller använder den senaste skrivarkonfigurationen som angetts av användaren i utskriftsinstallationen.

Exempel

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

Anropa den här medlemsfunktionen för att hämta binära data från en post i ett angivet avsnitt i programmets register eller . INI-fil.

BOOL GetProfileBinary(
    LPCTSTR lpszSection,
    LPCTSTR lpszEntry,
    LPBYTE* ppData,
    UINT* pBytes);

Parametrar

lpszSection
Pekar på en null-avslutad sträng som anger avsnittet som innehåller posten.

lpszEntry
Pekar på en null-avslutad sträng som innehåller posten vars värde ska hämtas.

ppData
Pekar på en pekare som tar emot dataadressen.

pBytes
Pekar på en UINT som tar emot datastorleken (i byte).

Returvärde

Nonzero om det lyckas; annars 0.

Anmärkningar

Den här medlemsfunktionen är inte skiftlägeskänslig, så strängarna i lpszSection och lpszEntry parametrar kan skilja sig åt om det gäller.

Not

GetProfileBinary allokerar en buffert och returnerar adressen i * ppData. Anroparen ansvarar för att frigöra bufferten med ta bort [].

Viktig

Data som returneras av den här funktionen är inte nödvändigtvis NULL avslutade och anroparen måste utföra verifiering. Mer information finns i Undvika buffertöverskridningar.

Exempel

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

Ett annat exempel finns i CWinApp::WriteProfileBinary.

CWinApp::GetProfileInt

Anropa den här medlemsfunktionen för att hämta värdet för ett heltal från en post i ett angivet avsnitt i programmets register eller . INI-fil.

UINT GetProfileInt(
    LPCTSTR lpszSection,
    LPCTSTR lpszEntry,
    int nDefault);

Parametrar

lpszSection
Pekar på en null-avslutad sträng som anger avsnittet som innehåller posten.

lpszEntry
Pekar på en null-avslutad sträng som innehåller posten vars värde ska hämtas.

nDefault
Anger standardvärdet som ska returneras om ramverket inte kan hitta posten.

Returvärde

Heltalsvärdet för strängen som följer den angivna posten om funktionen lyckas. Returvärdet är värdet för parametern nDefault om funktionen inte hittar posten. Returvärdet är 0 om värdet som motsvarar den angivna posten inte är ett heltal.

Den här medlemsfunktionen stöder hexadecimal notation för värdet i . INI-fil. När du hämtar ett signerat heltal bör du omvandla värdet till en int.

Anmärkningar

Den här medlemsfunktionen är inte skiftlägeskänslig, så strängarna i lpszSection och lpszEntry parametrar kan skilja sig åt om det gäller.

Viktig

Data som returneras av den här funktionen är inte nödvändigtvis NULL avslutade och anroparen måste utföra verifiering. Mer information finns i Undvika buffertöverskridningar.

Exempel

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);

Ett annat exempel finns i CWinApp::WriteProfileInt.

CWinApp::GetProfileString

Anropa den här medlemsfunktionen för att hämta strängen som är associerad med en post i det angivna avsnittet i programmets register eller . INI-fil.

CString GetProfileString(
    LPCTSTR lpszSection,
    LPCTSTR lpszEntry,
    LPCTSTR lpszDefault = NULL);

Parametrar

lpszSection
Pekar på en null-avslutad sträng som anger avsnittet som innehåller posten.

lpszEntry
Pekar på en null-avslutad sträng som innehåller posten vars sträng ska hämtas. Det här värdet får inte vara NULL.

lpszDefault
Pekar på standardsträngvärdet för den angivna posten om posten inte kan hittas i initieringsfilen.

Returvärde

Returvärdet är strängen från programmets . INI-fil eller lpszDefault om strängen inte kan hittas. Den maximala stränglängden som stöds av ramverket är _MAX_PATH. Om lpszDefault är NULL är returvärdet en tom sträng.

Anmärkningar

Viktig

Data som returneras av den här funktionen är inte nödvändigtvis NULL avslutade och anroparen måste utföra verifiering. Mer information finns i Undvika buffertöverskridningar.

Exempel

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);

Ett annat exempel finns i exemplet för CWinApp::GetProfileInt.

CWinApp::GetSectionKey

Returnerar nyckeln för HKEY_CURRENT_USER\"Software"\RegistryKey\AppName\lpszSection.

HKEY GetSectionKey(
    LPCTSTR lpszSection,
    CAtlTransactionManager* pTM = NULL);

Parametrar

lpszSection
Namnet på den nyckel som ska hämtas.

pTM-
Pekare till ett CAtlTransactionManager objekt.

Returvärde

Avsnittsnyckel om funktionen lyckas; annars NULL.

Anmärkningar

CWinApp::HideApplication

Anropa den här medlemsfunktionen för att dölja ett program innan du stänger de öppna dokumenten.

void HideApplication();

CWinApp::HtmlHelp

Anropa den här medlemsfunktionen för att anropa HTMLHelp-programmet.

virtual void HtmlHelp(
    DWORD_PTR dwData,
    UINT nCmd = 0x000F);

Parametrar

dwData
Anger ytterligare data. Värdet som används beror på värdet för parametern nCmd. Standardvärdet är 0x000F vilket innebär HH_HELP_CONTEXT.

nCmd
Anger vilken typ av hjälp som begärs. En lista över möjliga värden och hur de påverkar parametern dwData finns i parametern uCommand som beskrivs i parametern HtmlHelpW eller HTMLHelpA API-funktioner i Windows SDK.

Anmärkningar

Ramverket anropar också den här funktionen för att anropa HTMLHelp-programmet.

Ramverket stänger automatiskt HTMLHelp-programmet när programmet avslutas.

CWinApp::InitInstance

Med Windows kan flera kopior av samma program köras samtidigt.

virtual BOOL InitInstance();

Returvärde

Nonzero om initieringen lyckas. annars 0.

Anmärkningar

Programinitiering är konceptuellt indelad i två avsnitt: en gång programinitiering som görs första gången programmet körs och instansinitiering som körs varje gång en kopia av programmet körs, inklusive första gången. Ramverkets implementering av WinMain anropar den här funktionen.

Åsidosätt InitInstance för att initiera varje ny instans av ditt program som körs under Windows. Vanligtvis åsidosätter du InitInstance för att konstruera huvudfönsterobjektet och ställa in CWinThread::m_pMainWnd datamedlemmen så att den pekar på det fönstret. Mer information om hur du åsidosätter den här medlemsfunktionen finns i CWinApp: Application Class.

Not

MFC-program måste initieras som en trådad lägenhet (STA). Om du anropar CoInitializeEx i åsidosättningen av InitInstance anger du COINIT_APARTMENTTHREADED (i stället för COINIT_MULTITHREADED).

Exempel

// 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

Anger om interaktion med Aktivitetsfältet i Windows 7 är aktiverat.

virtual BOOL IsTaskbarInteractionEnabled();

Returvärde

Returnerar TRUE om EnableTaskbarInteraction har anropats och operativsystemet är Windows 7 eller senare.

Anmärkningar

Interaktion med aktivitetsfältet innebär att MDI-programmet visar innehållet i MDI-underordnade objekt i separata miniatyrbilder med flikar som visas när muspekaren är över knappen i aktivitetsfältet för programmet.

CWinApp::LoadCursor

Läser in markörresursen med namnet av lpszResourceName eller anges av nIDResource- från den aktuella körbara filen.

HCURSOR LoadCursor(LPCTSTR lpszResourceName) const;  HCURSOR LoadCursor(UINT nIDResource) const;

Parametrar

lpszResourceName
Pekar på en null-avslutad sträng som innehåller namnet på markörresursen. Du kan använda en CString för det här argumentet.

nIDResource
ID för markörresursen. En lista över resurser finns i LoadCursor i Windows SDK.

Returvärde

Ett handtag till en markör om det lyckas. annars NULL.

Anmärkningar

LoadCursor läser bara in markören i minnet om den inte har lästs in tidigare. Annars hämtar den ett handtag för den befintliga resursen.

Använd funktionen LoadStandardCursor eller LoadOEMCursor medlem för att få åtkomst till fördefinierade Windows-markörer.

Exempel

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äser in ikonresursen med namnet av lpszResourceName eller anges av nIDResource från den körbara filen.

HICON LoadIcon(LPCTSTR lpszResourceName) const;  HICON LoadIcon(UINT nIDResource) const;

Parametrar

lpszResourceName
Pekar på en null-avslutad sträng som innehåller namnet på ikonresursen. Du kan också använda en CString för det här argumentet.

nIDResource
ID-nummer för ikonresursen.

Returvärde

Ett handtag till en ikon om det lyckas. annars NULL.

Anmärkningar

LoadIcon läser bara in ikonen om den inte har lästs in tidigare. Annars hämtar den ett handtag för den befintliga resursen.

Du kan använda funktionen LoadStandardIcon eller LoadOEMIcon medlem för att få åtkomst till de fördefinierade Windows-ikonerna.

Not

Den här medlemsfunktionen anropar funktionen Win32 API LoadIcon, som bara kan läsa in en ikon vars storlek överensstämmer med SM_CXICON och SM_CYICON systemmåttvärden.

CWinApp::LoadOEMCursor

Läser in den fördefinierade markörresursen i Windows som anges av nIDCursor.

HCURSOR LoadOEMCursor(UINT nIDCursor) const;

Parametrar

nIDCursor
En OCR_ manifestkonstantidentifierare som anger en fördefinierad Windows-markör. Du måste ha #define OEMRESOURCE innan #include \<afxwin.h> för att få åtkomst till OCR_ konstanterna i WINDOWS.H.

Returvärde

Ett handtag till en markör om det lyckas. annars NULL.

Anmärkningar

Använd funktionen LoadOEMCursor eller LoadStandardCursor medlem för att komma åt de fördefinierade Windows-markörer.

Exempel

// 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äser in den fördefinierade ikonresursen i Windows som anges av nIDIcon.

HICON LoadOEMIcon(UINT nIDIcon) const;

Parametrar

nIDIcon
En OIC_ manifestkonstantidentifierare som anger en fördefinierad Windows-ikon. Du måste ha #define OEMRESOURCE innan #include \<afxwin.h> för att komma åt OIC_ konstanterna i WINDOWS.H.

Returvärde

Ett handtag till en ikon om det lyckas. annars NULL.

Anmärkningar

Använd funktionen LoadOEMIcon eller LoadStandardIcon medlem för att få åtkomst till de fördefinierade Windows-ikonerna.

CWinApp::LoadStandardCursor

Läser in den fördefinierade markörresursen i Windows som lpszCursorName anger.

HCURSOR LoadStandardCursor(LPCTSTR lpszCursorName) const;

Parametrar

lpszCursorName
En IDC_ manifestkonstantidentifierare som anger en fördefinierad Windows-markör. Dessa identifierare definieras i WINDOWS.H. I följande lista visas möjliga fördefinierade värden och betydelser för lpszCursorName:

  • IDC_ARROW standardpilmarkör

  • IDC_IBEAM standardmarkör för textinfogning

  • IDC_WAIT Timglasmarkör som används när Windows utför en tidskrävande uppgift

  • IDC_CROSS hårkorsmarkör för val

  • IDC_UPARROW pil som pekar rakt upp

  • IDC_SIZE föråldrad och stöds inte; använd IDC_SIZEALL

  • IDC_SIZEALL En fyruddig pil. Markören som ska användas för att ändra storlek på ett fönster.

  • IDC_ICON föråldrad och stöds inte. Använd IDC_ARROW.

  • IDC_SIZENWSE tvåhövdad pil med ändar uppe till vänster och längst ned till höger

  • IDC_SIZENESW tvåhövdad pil med ändar i övre högra och nedre vänstra hörnet

  • IDC_SIZEWE vågrät dubbelriktad pil

  • IDC_SIZENS lodrät dubbelriktad pil

Returvärde

Ett handtag till en markör om det lyckas. annars NULL.

Anmärkningar

Använd funktionen LoadStandardCursor eller LoadOEMCursor medlem för att komma åt de fördefinierade Windows-markörer.

Exempel

HCURSOR hCursor;

// Load the predefined Windows "up arrow" cursor.
hCursor = AfxGetApp()->LoadStandardCursor(IDC_UPARROW);

CWinApp::LoadStandardIcon

Läser in den fördefinierade ikonresursen i Windows som lpszIconName anger.

HICON LoadStandardIcon(LPCTSTR lpszIconName) const;

Parametrar

lpszIconName
En konstant manifestidentifierare som anger en fördefinierad Windows-ikon. Dessa identifierare definieras i WINDOWS.H. En lista över möjliga fördefinierade värden och deras beskrivningar finns i parametern lpIconName i LoadIcon i Windows SDK.

Returvärde

Ett handtag till en ikon om det lyckas. annars NULL.

Anmärkningar

Använd funktionen LoadStandardIcon eller LoadOEMIcon medlem för att få åtkomst till de fördefinierade Windows-ikonerna.

CWinApp::LoadStdProfileSettings

Anropa den här medlemsfunktionen inifrån funktionen InitInstance medlem för att aktivera och läsa in listan över senast använda filer (MRU) och senaste förhandsversionstillstånd.

void LoadStdProfileSettings(UINT nMaxMRU = _AFX_MRU_COUNT);

Parametrar

nMaxMRU
Antalet nyligen använda filer att spåra.

Anmärkningar

Om nMaxMRU är 0 behålls ingen MRU-lista.

CWinApp::m_bHelpMode

SANT om programmet är i hjälpkontextläge (anropas konventionellt med SKIFT + F1); annars FALSKT.

BOOL m_bHelpMode;

Anmärkningar

I hjälpkontextläge blir markören ett frågetecken och användaren kan flytta den om skärmen. Granska den här flaggan om du vill implementera särskild hantering i hjälpläget. m_bHelpMode är en offentlig variabel av typen BOOL.

CWinApp::m_dwRestartManagerSupportFlags

Flaggor som avgör hur omstartshanteraren fungerar.

DWORD m_dwRestartManagerSupportFlags;

Anmärkningar

Om du vill aktivera omstartshanteraren anger du m_dwRestartManagerSupportFlags till det beteende som du vill använda. I följande tabell visas de flaggor som är tillgängliga.

Flagga Beskrivning
AFX_RESTART_MANAGER_SUPPORT_RESTART Programmet registreras med hjälp av CWinApp::RegisterWithRestartManager. Omstartshanteraren ansvarar för att starta om programmet om det oväntat avslutas.
- AFX_RESTART_MANAGER_SUPPORT_RECOVERY Programmet är registrerat med omstartshanteraren och omstartshanteraren anropar återställningsåteranropsfunktionen när programmet startas om. Standardåteranropsfunktionen för återställning är CWinApp::ApplicationRecoveryCallback.
- AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART Spara automatiskt är aktiverat och omstartshanteraren sparas automatiskt i alla öppna dokument när programmet startas om.
- AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL Spara automatiskt är aktiverat och omstartshanteraren sparas automatiskt i alla öppna dokument med jämna mellanrum. Intervallet definieras av CWinApp::m_nAutosaveInterval.
- AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES Omstartshanteraren öppnar tidigare öppna dokument efter att programmet startats om från en oväntad avslutning. CDataRecoveryHandler Class hanterar lagring av listan över öppna dokument och återställning av dem.
- AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES Omstartshanteraren uppmanar användaren att återställa filer som sparats automatiskt när programmet har startats om. CDataRecoveryHandler-klassen frågar användaren.
- AFX_RESTART_MANAGER_SUPPORT_NO_AUTOSAVE Unionen mellan AFX_RESTART_MANAGER_SUPPORT_RESTART, AFX_RESTART_MANAGER_SUPPORT_RECOVER och AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES.
- AFX_RESTART_MANAGER_SUPPORT_ALL_ASPECTS Unionen mellan AFX_RESTART_MANAGER_SUPPORT_NO_AUTOSAVE, AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART, AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL och AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES.
- AFX_RESTART_MANAGER_SUPPORT_RESTART_ASPECTS Unionen mellan AFX_RESTART_MANAGER_SUPPORT_RESTART, AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART, AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES och AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES.
- AFX_RESTART_MANAGER_SUPPORT_RECOVERY_ASPECTS Facket ofAFX_RESTART_MANAGER_SUPPORT_RECOVERY, AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL, AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES och AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES.

CWinApp::m_eHelpType

Typen av den här datamedlemmen är den uppräknade typen AFX_HELP_TYPE, som definieras i klassen CWinApp.

AFX_HELP_TYPE m_eHelpType;

Anmärkningar

Den AFX_HELP_TYPE uppräkningen definieras på följande sätt:

enum AFX_HELP_TYPE {
    afxWinHelp = 0,
    afxHTMLHelp = 1
    };
  • Om du vill ställa in programmets hjälp på HTML-hjälpen anropar du SetHelpMode och anger afxHTMLHelp.

  • Om du vill ange programmets hjälp till WinHelp anropar du SetHelpMode och anger afxWinHelp.

CWinApp::m_hInstance

Motsvarar parametern hInstance som skickas av Windows till WinMain.

HINSTANCE m_hInstance;

Anmärkningar

Den m_hInstance datamedlemmen är en referens till den aktuella instansen av programmet som körs under Windows. Detta returneras av den globala funktionen AfxGetInstanceHandle. m_hInstance är en offentlig variabel av typen HINSTANCE.

Exempel

// 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

Motsvarar parametern lpCmdLine som skickas av Windows till WinMain.

LPTSTR m_lpCmdLine;

Anmärkningar

Pekar på en null-avslutad sträng som anger kommandoraden för programmet. Använd m_lpCmdLine för att komma åt kommandoradsargument som användaren angav när programmet startades. m_lpCmdLine är en offentlig variabel av typen LPTSTR.

Exempel

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

Längden på tiden i millisekunder mellan autospar.

int m_nAutosaveInterval;

Anmärkningar

Du kan konfigurera omstartshanteraren så att öppna dokument sparas automatiskt med angivna intervall. Om programmet inte sparar filer automatiskt har den här parametern ingen effekt.

CWinApp::m_nCmdShow

Motsvarar parametern nCmdShow som skickas av Windows till WinMain.

int m_nCmdShow;

Anmärkningar

Du bör skicka m_nCmdShow som ett argument när du anropar CWnd::ShowWindow för programmets huvudfönster. m_nCmdShow är en offentlig variabel av typen int.

Exempel

// 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

Använd den här datamedlemmen för att lagra en pekare till huvudfönstret i OLE-containerprogrammet som har ole-serverprogrammet aktiverat på plats.

Anmärkningar

Om den här datamedlemmen är NULL är programmet inte aktivt på plats.

Ramverket anger den här medlemsvariabeln när ramfönstret aktiveras på plats av ett OLE-containerprogram.

CWinApp::m_pDataRecoveryHandler

Pekare till dataåterställningshanteraren för programmet.

CDataRecoveryHandler* m_pDataRecoveryHandler;

Anmärkningar

Dataåterställningshanteraren för ett program övervakar öppna dokument och arkiverar dem automatiskt. Ramverket använder dataåterställningshanteraren för att återställa filer som sparats automatiskt när ett program startas om när det oväntat avslutas. Mer information finns i CDataRecoveryHandler Class.

CWinApp::m_pszAppName

Anger namnet på programmet.

LPCTSTR m_pszAppName;

Anmärkningar

Programnamnet kan komma från parametern som skickas till CWinApp konstruktor, eller, om det inte anges, till resurssträngen med ID:t för AFX_IDS_APP_TITLE. Om programnamnet inte hittas i resursen kommer det från programmets .EXE filnamn.

Returneras av den globala funktionen AfxGetAppName. m_pszAppName är en offentlig variabel av typen const char*.

Not

Om du tilldelar ett värde till m_pszAppNamemåste det tilldelas dynamiskt på heapen. CWinApp-destructor anropar kostnadsfri( ) med den här pekaren. Många vill använda funktionen _tcsdup( ) run-time library för att allokera. Frigör också det minne som är associerat med den aktuella pekaren innan du tilldelar ett nytt värde. Till exempel:

//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"));

Exempel

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

Innehåller namnet på programmets körbara fil utan tillägg.

LPCTSTR m_pszExeName;

Anmärkningar

Till skillnad från m_pszAppNamefår det här namnet inte innehålla blanksteg. m_pszExeName är en offentlig variabel av typen const char*.

Not

Om du tilldelar ett värde till m_pszExeNamemåste det tilldelas dynamiskt på heapen. CWinApp-destructor anropar kostnadsfri( ) med den här pekaren. Många vill använda funktionen _tcsdup( ) run-time library för att allokera. Frigör också det minne som är associerat med den aktuella pekaren innan du tilldelar ett nytt värde. Till exempel:

//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

Innehåller sökvägen till programmets hjälpfil.

LPCTSTR m_pszHelpFilePath;

Anmärkningar

Som standard initierar ramverket m_pszHelpFilePath till namnet på programmet med ". HLP" läggs till. Om du vill ändra namnet på hjälpfilen anger du m_pszHelpFilePath så att den pekar på en sträng som innehåller det fullständiga namnet på den önskade hjälpfilen. En praktisk plats att göra detta på finns i programmets InitInstance- funktion. m_pszHelpFilePath är en offentlig variabel av typen const char*.

Not

Om du tilldelar ett värde till m_pszHelpFilePathmåste det tilldelas dynamiskt på heapen. CWinApp-destructor anropar kostnadsfri( ) med den här pekaren. Många vill använda funktionen _tcsdup( ) run-time library för att allokera. Frigör också det minne som är associerat med den aktuella pekaren innan du tilldelar ett nytt värde. Till exempel:

//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

Innehåller namnet på programmets . INI-fil.

LPCTSTR m_pszProfileName;

Anmärkningar

m_pszProfileName är en offentlig variabel av typen const char*.

Not

Om du tilldelar ett värde till m_pszProfileNamemåste det tilldelas dynamiskt på heapen. CWinApp-destructor anropar kostnadsfri( ) med den här pekaren. Många vill använda funktionen _tcsdup( ) run-time library för att allokera. Frigör också det minne som är associerat med den aktuella pekaren innan du tilldelar ett nytt värde. Till exempel:

//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

Används för att avgöra var, i registret eller INI-filen, programprofilinställningar lagras.

LPCTSTR m_pszRegistryKey;

Anmärkningar

Normalt behandlas den här datamedlemmen som skrivskyddad.

  • Värdet lagras i en registernyckel. Namnet på inställningen programprofil läggs till i följande registernyckel: HKEY_CURRENT_USER/Software/LocalAppWizard-Generated/.

Om du tilldelar ett värde till m_pszRegistryKeymåste det tilldelas dynamiskt på heapen. CWinApp-destructor anropar kostnadsfri( ) med den här pekaren. Många vill använda funktionen _tcsdup( ) run-time library för att allokera. Frigör också det minne som är associerat med den aktuella pekaren innan du tilldelar ett nytt värde. Till exempel:

//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

Programanvändarmodell-ID.

LPCTSTR m_pszAppID;

Anmärkningar

CWinApp::OnContextHelp

Hanterar SKIFT+F1-hjälpen i programmet.

afx_msg void OnContextHelp();

Anmärkningar

Du måste lägga till en ON_COMMAND( ID_CONTEXT_HELP, OnContextHelp )-instruktion i din CWinApp-klassmeddelandekarta och även lägga till en post i en acceleratortabell, vanligtvis SKIFT+F1, för att aktivera den här medlemsfunktionen.

OnContextHelp placerar programmet i hjälpläge. Markören ändras till en pil och ett frågetecken, och användaren kan sedan flytta muspekaren och trycka på den vänstra musknappen för att välja en dialogruta, ett fönster, en meny eller en kommandoknapp. Den här medlemsfunktionen hämtar hjälpkontexten för objektet under markören och anropar Windows-funktionen WinHelp med hjälpkontexten.

CWinApp::OnDDECommand

Anropas av ramverket när huvudramfönstret tar emot ett DDE-körningsmeddelande.

virtual BOOL OnDDECommand(LPTSTR lpszCommand);

Parametrar

lpszCommand
Pekar på en DDE-kommandosträng som tas emot av programmet.

Returvärde

Nonzero om kommandot hanteras; annars 0.

Anmärkningar

Standardimplementeringen kontrollerar om kommandot är en begäran om att öppna ett dokument och öppnar i så fall det angivna dokumentet. Windows File Manager skickar vanligtvis sådana DDE-kommandosträngar när användaren dubbelklickar på en datafil. Åsidosätt den här funktionen för att hantera andra DDE-körningskommandon, till exempel kommandot som ska skrivas ut.

Exempel

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::OnFileNy

Implementerar kommandot ID_FILE_NEW.

afx_msg void OnFileNew();

Anmärkningar

Du måste lägga till en ON_COMMAND( ID_FILE_NEW, OnFileNew )-instruktion i din CWinApp-klassmeddelandekarta för att aktivera den här medlemsfunktionen. Om den här funktionen är aktiverad hanterar den körningen av kommandot Arkiv ny.

Mer information om standardbeteende och vägledning om hur du åsidosätter den här medlemsfunktionen finns i Technical Note 22.

Exempel

// 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

Implementerar kommandot ID_FILE_OPEN.

afx_msg void OnFileOpen();

Anmärkningar

Du måste lägga till en ON_COMMAND( ID_FILE_OPEN, OnFileOpen )-instruktion i din CWinApp-klassmeddelandekarta för att aktivera den här medlemsfunktionen. Om den här funktionen är aktiverad hanterar den körningen av kommandot Öppna fil.

Information om standardbeteende och vägledning om hur du åsidosätter den här medlemsfunktionen finns i Technical Note 22.

Exempel

// 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

Implementerar kommandot ID_FILE_PRINT_SETUP.

afx_msg void OnFilePrintSetup();

Anmärkningar

Du måste lägga till en ON_COMMAND( ID_FILE_PRINT_SETUP, OnFilePrintSetup )-instruktion i din CWinApp-klassmeddelandekarta för att aktivera den här medlemsfunktionen. Om den här funktionen är aktiverad hanterar den körningen av kommandot File Print.

Information om standardbeteende och vägledning om hur du åsidosätter den här medlemsfunktionen finns i Technical Note 22.

Exempel

// 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

Hanterar F1-hjälpen i programmet (med den aktuella kontexten).

afx_msg void OnHelp();

Anmärkningar

Vanligtvis lägger du också till en acceleratornyckelpost för F1-nyckeln. Att aktivera F1-nyckeln är bara en konvention, inte ett krav.

Du måste lägga till en ON_COMMAND( ID_HELP, OnHelp )-instruktion i din CWinApp-klassmeddelandekarta för att aktivera den här medlemsfunktionen. Om aktiverad anropas av ramverket när användaren trycker på F1-tangenten.

Standardimplementeringen av den här meddelandehanterarfunktionen avgör hjälpkontexten som motsvarar det aktuella fönstret, dialogrutan eller menyalternativet och anropar sedan WINHELP.EXE. Om ingen kontext är tillgänglig för närvarande använder funktionen standardkontexten.

Åsidosätt den här medlemsfunktionen för att ange hjälpkontexten till något annat än fönstret, dialogrutan, menyalternativet eller verktygsfältsknappen som för närvarande har fokus. Anropa WinHelp med önskat hjälpkontext-ID.

CWinApp::OnHelpFinder

Hanterar kommandona ID_HELP_FINDER och ID_DEFAULT_HELP.

afx_msg void OnHelpFinder();

Anmärkningar

Du måste lägga till en ON_COMMAND( ID_HELP_FINDER, OnHelpFinder )-instruktion i din CWinApp-klassmeddelandekarta för att aktivera den här medlemsfunktionen. Om det är aktiverat anropar ramverket den här meddelandehanterarfunktionen när användaren av ditt program väljer kommandot Hjälpsökare för att anropa WinHelp med standardavsnittet HELP_FINDER.

CWinApp::OnHelpIndex

Hanterar kommandot ID_HELP_INDEX och innehåller ett standardavsnitt för hjälp.

afx_msg void OnHelpIndex();

Anmärkningar

Du måste lägga till en ON_COMMAND( ID_HELP_INDEX, OnHelpIndex )-instruktion i din CWinApp-klassmeddelandekarta för att aktivera den här medlemsfunktionen. Om det är aktiverat anropar ramverket den här meddelandehanterarfunktionen när användaren av ditt program väljer kommandot Hjälpindex för att anropa WinHelp med standardavsnittet HELP_INDEX.

CWinApp::OnHelpUsing

Hanterar kommandot ID_HELP_USING.

afx_msg void OnHelpUsing();

Anmärkningar

Du måste lägga till en ON_COMMAND( ID_HELP_USING, OnHelpUsing )-instruktion i din CWinApp-klassmeddelandekarta för att aktivera den här medlemsfunktionen. Ramverket anropar den här meddelandehanterarfunktionen när användaren av ditt program väljer kommandot Hjälp med att använda för att anropa WinHelp-programmet med standardavsnittet HELP_HELPONHELP.

CWinApp::OnIdle

Åsidosätt den här medlemsfunktionen för att utföra bearbetning av inaktiv tid.

virtual BOOL OnIdle(LONG lCount);

Parametrar

lCount
En räknare ökas varje gång OnIdle anropas när programmets meddelandekö är tom. Det här antalet återställs till 0 varje gång ett nytt meddelande bearbetas. Du kan använda parametern lCount för att fastställa hur lång tid programmet har varit inaktivt utan att bearbeta ett meddelande.

Returvärde

Nonzero för att ta emot mer inaktiv bearbetningstid; 0 om ingen mer inaktivitetstid behövs.

Anmärkningar

OnIdle anropas i standardmeddelandeloopen när programmets meddelandekö är tom. Använd åsidosättningen för att anropa dina egna uppgifter för inaktivitetshanterare i bakgrunden.

OnIdle bör returnera 0 för att indikera att ingen inaktiv bearbetningstid krävs. Parametern lCount ökas varje gång OnIdle anropas när meddelandekön är tom och återställs till 0 varje gång ett nytt meddelande bearbetas. Du kan anropa dina olika inaktiva rutiner baserat på det här antalet.

Följande sammanfattar bearbetning av inaktiva loopar:

  1. Om meddelandeloopen i Microsoft Foundation-klassbiblioteket kontrollerar meddelandekön och inte hittar några väntande meddelanden anropas OnIdle för programobjektet och tillhandahåller 0 som argumentet lCount.

  2. OnIdle utför viss bearbetning och returnerar ett icke-nollvärde för att indikera att det ska anropas igen för att utföra ytterligare bearbetning.

  3. Meddelandeloopen kontrollerar meddelandekön igen. Om inga meddelanden väntar anropas OnIdle igen, vilket ökar argumentet lCount.

  4. Slutligen slutför OnIdle bearbetningen av alla inaktiva uppgifter och returnerar 0. Detta instruerar meddelandeloopen att sluta anropa OnIdle tills nästa meddelande tas emot från meddelandekön, då inaktivitetscykeln startas om med argumentet inställt på 0.

Utför inte långa uppgifter under OnIdle eftersom programmet inte kan bearbeta användarindata förrän OnIdle returnerar.

Not

Standardimplementeringen av OnIdle uppdaterar kommandoobjekt i användargränssnittet, till exempel menyalternativ och verktygsfältsknappar, och den utför intern rensning av datastrukturen. Om du åsidosätter OnIdlemåste du därför anropa CWinApp::OnIdle med lCount i den åsidosatta versionen. Anropa först all inaktiv bearbetning av basklassen (det vill säga tills basklassen OnIdle returnerar 0). Om du behöver utföra arbete innan basklassbearbetningen slutförs granskar du basklassimplementeringen för att välja rätt lCount under vilken du ska utföra ditt arbete.

Om du inte vill att OnIdle ska anropas när ett meddelande hämtas från meddelandekön kan du åsidosätta CWinThreadIsIdleMessage. Om ett program har angett en mycket kort timer, eller om systemet skickar WM_SYSTIMER meddelande, anropas OnIdle upprepade gånger och försämrar prestanda.

Exempel

Följande två exempel visar hur du använder OnIdle. I det första exemplet bearbetas två inaktiva aktiviteter med argumentet lCount för att prioritera aktiviteterna. Den första uppgiften har hög prioritet och du bör göra det när det är möjligt. Den andra uppgiften är mindre viktig och bör endast utföras när det finns en lång paus i användarindata. Observera anropet till basklassversionen av OnIdle. Det andra exemplet hanterar en grupp inaktiva uppgifter med olika prioriteringar.

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

Ramverket anropar den här metoden för att öppna filen med namnet CDocument för programmet.

virtual CDocument* OpenDocumentFile(
    LPCTSTR lpszFileName,
    BOOL bAddToMRU = TRUE);

Parametrar

lpszFileName
[i] Namnet på filen som ska öppnas.

bAddToMRU
[i] TRUE anger att dokumentet är en av de senaste filerna. FALSE anger att dokumentet inte är en av de senaste filerna.

Returvärde

En pekare till en CDocument om den lyckas. annars NULL.

Anmärkningar

Om ett dokument med det namnet redan är öppet kommer det första ramfönstret som innehåller dokumentet att fokusera. Om ett program stöder flera dokumentmallar använder ramverket filnamnstillägget för att hitta rätt dokumentmall för att försöka läsa in dokumentet. Om det lyckas skapar dokumentmallen sedan ett ramfönster och en vy för dokumentet.

Exempel

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

Anropa den här medlemsfunktionen för att parsa kommandoraden och skicka parametrarna, en i taget, för att CCommandLineInfo::P arseParam.

void ParseCommandLine(CCommandLineInfo& rCmdInfo);

Parametrar

rCmdInfo
En referens till ett CCommandLineInfo- objekt.

Anmärkningar

När du startar ett nytt MFC-projekt med hjälp av programguiden skapar programguiden en lokal instans av CCommandLineInfooch anropar sedan ProcessShellCommand och ParseCommandLine i funktionen InitInstance medlem. En kommandorad följer den väg som beskrivs nedan:

  1. När CCommandLineInfo-objektet har skapats i InitInstanceskickas det till ParseCommandLine.

  2. ParseCommandLine anropar sedan CCommandLineInfo::ParseParam upprepade gånger, en gång för varje parameter.

  3. ParseParam fyller det CCommandLineInfo objektet som sedan skickas till ProcessShellCommand.

  4. ProcessShellCommand hanterar kommandoradsargumenten och flaggorna.

Observera att du kan anropa ParseCommandLine direkt efter behov.

En beskrivning av kommandoradsflaggor finns i CCommandLineInfo::m_nShellCommand.

CWinApp::P reTranslateMessage

Åsidosätt den här funktionen för att filtrera fönstermeddelanden innan de skickas till Windows-funktionerna TranslateMessage och DispatchMessage Standardimplementeringen utför acceleratornyckelöversättning, så du måste anropa funktionen CWinApp::PreTranslateMessage medlem i den åsidosatta versionen.

virtual BOOL PreTranslateMessage(MSG* pMsg);

Parametrar

pMsg
En pekare till en MSG struktur som innehåller meddelandet som ska bearbetas.

Returvärde

Nonzero om meddelandet har bearbetats fullständigt i PreTranslateMessage och inte bör bearbetas ytterligare. Noll om meddelandet ska bearbetas på vanligt sätt.

CWinApp::P rocessMessageFilter

Ramverkets hook-funktion anropar den här medlemsfunktionen för att filtrera och svara på vissa Windows-meddelanden.

virtual BOOL ProcessMessageFilter(
    int code,
    LPMSG lpMsg);

Parametrar

kod
Anger en hook-kod. Den här medlemsfunktionen använder koden för att avgöra hur lpMsg ska bearbetas.

lpMsg
En pekare till en Windows-MSGtructure.

Returvärde

Nonzero om meddelandet bearbetas; annars 0.

Anmärkningar

En hook-funktion bearbetar händelser innan de skickas till programmets normala meddelandebearbetning.

Om du åsidosätter den här avancerade funktionen måste du anropa basklassversionen för att underhålla ramverkets krokbearbetning.

CWinApp::P rocessShellCommand

Den här medlemsfunktionen anropas av InitInstance för att acceptera parametrarna som skickas från det CCommandLineInfo objekt som identifieras av rCmdInfooch utföra den angivna åtgärden.

BOOL ProcessShellCommand(CCommandLineInfo& rCmdInfo);

Parametrar

rCmdInfo
En referens till ett CCommandLineInfo- objekt.

Returvärde

Nonzero om shell-kommandot bearbetas korrekt. Om 0 returnerar du FALSE från InitInstance.

Anmärkningar

När du startar ett nytt MFC-projekt med hjälp av programguiden skapar programguiden en lokal instans av CCommandLineInfooch anropar sedan ProcessShellCommand och ParseCommandLine- i funktionen InitInstance medlem. En kommandorad följer den väg som beskrivs nedan:

  1. När CCommandLineInfo-objektet har skapats i InitInstanceskickas det till ParseCommandLine.

  2. ParseCommandLine anropar sedan CCommandLineInfo::P arseParam upprepade gånger, en gång för varje parameter.

  3. ParseParam fyller det CCommandLineInfo objektet, som sedan skickas till ProcessShellCommand.

  4. ProcessShellCommand hanterar kommandoradsargumenten och flaggorna.

Datamedlemmarna i CCommandLineInfo-objektet, som identifieras av CCommandLineInfo::m_nShellCommand, är av följande uppräknade typ, som definieras i klassen CCommandLineInfo.

enum {
    FileNew,
    FileOpen,
    FilePrint,
    FilePrintTo,
    FileDDE
    };

En kort beskrivning av vart och ett av dessa värden finns i CCommandLineInfo::m_nShellCommand.

CWinApp::P rocessWndProcException

Ramverket anropar den här medlemsfunktionen när hanteraren inte får ett undantag som genereras i ett av programmets meddelande- eller kommandohanterare.

virtual LRESULT ProcessWndProcException(
    CException* e,
    const MSG* pMsg);

Parametrar

e
En pekare till ett ohanterade undantag.

pMsg
En MSGtructure som innehåller information om windows-meddelandet som gjorde att ramverket utlöste ett undantag.

Returvärde

Värdet som ska returneras till Windows. Normalt är detta 0L för Windows-meddelanden, 1L ( TRUE) för kommandomeddelanden.

Anmärkningar

Anropa inte den här medlemsfunktionen direkt.

Standardimplementeringen av den här medlemsfunktionen skapar en meddelanderuta. Om det ohanterade undantaget kommer från en meny, ett kommandofel i verktygsfältet eller acceleratorn visas meddelandet "Kommandot misslyckades" i meddelanderutan. annars visas meddelandet "Internt programfel".

Åsidosätt den här medlemsfunktionen för att tillhandahålla global hantering av dina undantag. Anropa endast basfunktionen om du vill att meddelanderutan ska visas.

CWinApp::Registrera

Utför registreringsuppgifter som inte hanteras av RegisterShellFileTypes.

virtual BOOL Register();

Returvärde

Nonzero på framgång; annars 0.

Anmärkningar

Standardimplementeringen returnerar helt enkelt TRUE. Åsidosätt den här funktionen för att tillhandahålla anpassade registreringssteg.

CWinApp::RegisterShellFileTypes

Anropa den här medlemsfunktionen för att registrera alla programdokumenttyper med Windows-filhanteraren.

void RegisterShellFileTypes(BOOL bCompat = FALSE);

Parametrar

bCompat
[i] TRUE lägger till registreringsposter för gränssnittskommandon Skriv ut och skriv ut till, så att en användare kan skriva ut filer direkt från gränssnittet eller genom att dra filen till ett skrivarobjekt. Den lägger också till en DefaultIcon-nyckel. Som standard är den här parametern FALSE för bakåtkompatibilitet.

Anmärkningar

På så sätt kan användaren öppna en datafil som skapats av ditt program genom att dubbelklicka på den från Filhanteraren. Anropa RegisterShellFileTypes när du anropar AddDocTemplate för var och en av dokumentmallarna i ditt program. Anropa även funktionen EnableShellOpen medlem när du anropar RegisterShellFileTypes.

RegisterShellFileTypes itererar genom listan över CDocTemplate objekt som programmet underhåller och för varje dokumentmall lägger till poster i registreringsdatabasen som Windows underhåller för filassociationer. Filhanteraren använder dessa poster för att öppna en datafil när användaren dubbelklickar på den. Detta eliminerar behovet av att skicka en . REG-fil med ditt program.

Not

RegisterShellFileTypes fungerar bara om användaren kör programmet med administratörsbehörighet. Om programmet inte har administratörsbehörighet kan det inte ändra registernycklar.

Om registreringsdatabasen redan associerar ett angivet filnamnstillägg med en annan filtyp skapas ingen ny association. Se klassen CDocTemplate för det format av strängar som krävs för att registrera den här informationen.

CWinApp::RegisterWithRestartManager

Registrerar programmet med omstartshanteraren.

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);

Parametrar

bRegisterRecoveryCallback
[i] TRUE anger att den här instansen av programmet använder en återställningsåteranropsfunktion. FALSE anger att det inte gör det. Ramverket anropar återanropsfunktionen för återställning när programmet oväntat avslutas. Mer information finns i CWinApp::ApplicationRecoveryCallback.

strRestartIdentifier
[i] Den unika sträng som identifierar den här instansen av omstartshanteraren. Identifieraren för omstartshanteraren är unik för varje instans av ett program.

pwzCommandLineArgs
[i] En sträng som innehåller eventuella extra argument från kommandoraden.

dwRestartFlags
[i] Valfria flaggor för omstartshanteraren. Mer information finns i avsnittet Anmärkningar.

pRecoveryCallback
[i] Återanropsfunktionen för återställning. Den här funktionen måste ta en LPVOID-parameter som indata och returnera ett DWORD. Standardåteranropsfunktionen för återställning är CWinApp::ApplicationRecoveryCallback.

lpvParam
[i] Indataparametern för återställningsåteranropsfunktionen. Mer information finns i CWinApp::ApplicationRecoveryCallback.

dwPingInterval
[i] Hur lång tid omstartshanteraren väntar på att återställningsåteranropsfunktionen ska returneras. Den här parametern är i millisekunder.

dwCallbackFlags
[i] Flaggor som skickas till återanropsfunktionen för återställning. Reserverad för framtida användning.

Returvärde

S_OK om metoden lyckas. annars en felkod.

Anmärkningar

Om ditt program använder MFC-standardimplementeringen för automatisk lagring av filer bör du använda den enkla versionen av RegisterWithRestartManager. Använd den komplexa versionen av RegisterWithRestartManager om du vill anpassa programmets beteende för spara automatiskt.

Om du anropar den här metoden med en tom sträng för strRestartIdentifierskapar RegisterWithRestartManager en unik identifierarsträng för den här instansen av omstartshanteraren.

När ett program avslutas oväntat startar omstartshanteraren om programmet från kommandoraden och tillhandahåller den unika omstartsidentifieraren som ett valfritt argument. I det här scenariot anropar ramverket RegisterWithRestartManager två gånger. Det första anropet kommer från CWinApp::InitInstance med en tom sträng för strängidentifieraren. Sedan anropar metoden CWinApp::P rocessShellCommandRegisterWithRestartManager med den unika omstartsidentifieraren.

När du har registrerat ett program med omstartshanteraren övervakar omstartshanteraren programmet. Om programmet avslutas oväntat anropar omstartshanteraren återanropsfunktionen under avstängningsprocessen. Omstartshanteraren väntar dwPingInterval- på ett svar från återställningsåteranropsfunktionen. Om återanropsfunktionen för återställning inte svarar inom den här tiden avslutas programmet utan att återställningsåteranropsfunktionen körs.

Som standard stöds inte dwRestartFlags men tillhandahålls för framtida användning. Möjliga värden för dwRestartFlags är följande:

  • RESTART_NO_CRASH

  • RESTART_NO_HANG

  • RESTART_NO_PATCH

  • RESTART_NO_REBOOT

CWinApp::ReopenPreviousFilesAtRestart

Avgör om omstartshanteraren öppnar filerna som var öppna när programmet avslutades oväntat.

virtual BOOL ReopenPreviousFilesAtRestart() const;

Returvärde

TRUE anger att omstartshanteraren öppnar de tidigare öppna filerna igen. FALSE anger att omstartshanteraren inte gör det.

CWinApp::RestartInstance

Hanterar en omstart av programmet som initieras av omstartshanteraren.

virtual BOOL CWinApp::RestartInstance();

Returvärde

SANT om dataåterställningshanteraren öppnar tidigare öppna dokument. FALSE om dataåterställningshanteraren har ett fel eller om det inte finns några tidigare öppna dokument.

Anmärkningar

När omstartshanteraren startar om ett program anropar ramverket den här metoden. Den här metoden hämtar dataåterställningshanteraren och återställer filerna som sparats automatiskt. Den här metoden anropar CDataRecoveryHandler::RestoreAutosavedDocuments för att avgöra om användaren vill återställa filer som sparats automatiskt.

Den här metoden returnerar FALSE om CDataRecoveryHandler fastställer att det inte fanns några öppna dokument. Om det inte fanns några öppna dokument startar programmet normalt.

CWinApp::RestoreAutosavedFilesAtRestart

Avgör om omstartshanteraren återställer filer som sparats automatiskt när programmet startas om.

virtual BOOL RestoreAutosavedFilesAtRestart() const;

Returvärde

TRUE anger att omstartshanteraren återställer filer som sparats automatiskt. FALSE anger att omstartshanteraren inte gör det.

CWinApp::Kör

Tillhandahåller en standardmeddelandeloop.

virtual int Run();

Returvärde

Ett int värde som returneras av WinMain.

Anmärkningar

Run hämtar och skickar Windows-meddelanden tills programmet tar emot ett WM_QUIT meddelande. Om programmets meddelandekö för närvarande inte innehåller några meddelanden anropar RunOnIdle för att utföra bearbetning av inaktivitetstid. Inkommande meddelanden går till PreTranslateMessage medlemsfunktion för särskild bearbetning och sedan till Windows-funktionen TranslateMessage för standardöversättning av tangentbord. slutligen anropas funktionen DispatchMessage Windows.

Run åsidosätts sällan, men du kan åsidosätta det för att ge ett särskilt beteende.

CWinApp::RunAutomated

Anropa den här funktionen för att avgöra om alternativet " /Automation" eller " -Automation" finns, vilket anger om serverprogrammet startades av ett klientprogram.

BOOL RunAutomated();

Returvärde

Nonzero om alternativet hittades; annars 0.

Anmärkningar

Om det finns tas alternativet bort från kommandoraden. Mer information om OLE Automation finns i artikeln Automation-servrar.

CWinApp::RunEmbedded

Anropa den här funktionen för att avgöra om alternativet " /Embedding" eller " -Embedding" finns, vilket anger om serverprogrammet startades av ett klientprogram.

BOOL RunEmbedded();

Returvärde

Nonzero om alternativet hittades; annars 0.

Anmärkningar

Om det finns tas alternativet bort från kommandoraden. Mer information om inbäddning finns i artikeln Servers: Implementing a Server.

CWinApp::SaveAllModified

Anropas av ramverket för att spara alla dokument när programmets huvudramfönster ska stängas eller via ett WM_QUERYENDSESSION meddelande.

virtual BOOL SaveAllModified();

Returvärde

Nonzero om det är säkert att avsluta programmet; 0 om det inte är säkert att avsluta programmet.

Anmärkningar

Standardimplementeringen av den här medlemsfunktionen anropar funktionen CDocument::SaveModified medlem i tur och ordning för alla ändrade dokument i programmet.

CWinApp::SelectPrinter

Anropa den här medlemsfunktionen för att välja en specifik skrivare och släpp den skrivare som tidigare har valts i dialogrutan Skriv ut.

void SelectPrinter(
    HANDLE hDevNames,
    HANDLE hDevMode,
    BOOL bFreeOld = TRUE);

Parametrar

hDevNames
Ett handtag till en DEVNAMES-trunkering som identifierar drivrutins-, enhets- och utdataportnamnen för en specifik skrivare.

hDevMode
Ett handtag till en DEVMODE- struktur som anger information om enhetens initiering och miljö för en skrivare.

bFreeOld
Frigör den tidigare valda skrivaren.

Anmärkningar

Om både hDevMode och hDevNames är NULL använder SelectPrinter den aktuella standardskrivaren.

CWinApp::SetHelpMode

Anger programmets hjälptyp.

void SetHelpMode(AFX_HELP_TYPE eHelpType);

Parametrar

eHelpType
Anger vilken typ av hjälp som ska användas. Mer information finns i CWinApp::m_eHelpType.

Anmärkningar

Anger programmets hjälptyp.

Om du vill ställa in programmets hjälptyp på HTMLHelp kan du anropa EnableHTMLHelp. När du anropar EnableHTMLHelpmåste programmet använda HTMLHelp som hjälpprogram. Om du vill ändra för att använda WinHelp kan du anropa SetHelpMode och ange eHelpType- till afxWinHelp.

CWinApp::SetRegistryKey

Gör att programinställningarna lagras i registret i stället för INI-filer.

void SetRegistryKey(LPCTSTR lpszRegistryKey);
void SetRegistryKey(UINT nIDRegistryKey);

Parametrar

lpszRegistryKey
Pekare till en sträng som innehåller namnet på nyckeln.

nIDRegistryKey
ID för en strängresurs som innehåller namnet på registernyckeln.

Anmärkningar

Den här funktionen anger m_pszRegistryKey, som sedan används av GetProfileInt, GetProfileString, WriteProfileIntoch WriteProfileString medlemsfunktioner i CWinApp. Om den här funktionen har anropats lagras även listan över senast använda filer (MRU) i registret. Registernyckeln är vanligtvis namnet på ett företag. Den lagras i en nyckel i följande formulär: HKEY_CURRENT_USER\Software\<företagsnamn>\<programnamn>\<avsnittsnamn>\<värdenamn>.

CWinApp::SupportsApplicationRecovery

Avgör om omstartshanteraren återställer ett program som oväntat avslutades.

virtual BOOL SupportsApplicationRecovery() const;

Returvärde

TRUE anger att omstartshanteraren återställer programmet. FALSE anger att omstartshanteraren inte gör det.

CWinApp::SupportsAutosaveAtInterval

Avgör om omstartshanteraren automatiskt ska spara öppna dokument med jämna mellanrum.

virtual BOOL SupportsAutosaveAtInterval() const;

Returvärde

TRUE anger att omstartshanteraren automatiskt sparar öppna dokument. FALSE anger att omstartshanteraren inte gör det.

CWinApp::SupportsAutosaveAtRestart

Avgör om omstartshanteraren automatiskt ska spara öppna dokument när programmet startas om.

virtual BOOL SupportsAutosaveAtRestart() const;

Returvärde

TRUE anger att omstartshanteraren automatiskt sparar öppna dokument när programmet startas om. FALSE anger att omstartshanteraren inte gör det.

CWinApp::SupportsRestartManager

Avgör om programmet stöder omstartshanteraren.

virtual BOOL SupportsRestartManager() const;

Returvärde

TRUE anger att programmet stöder omstartshanteraren. FALSE anger att programmet inte gör det.

CWinApp::Avregistrera

Avregistrerar alla filer som registrerats av programobjektet.

virtual BOOL Unregister();

Returvärde

Nonzero på framgång; annars 0.

Anmärkningar

Funktionen Unregister återställer registreringen som utförs av programobjektet och funktionen Registrera. Normalt anropas båda funktionerna implicit av MFC och visas därför inte i koden.

Åsidosätt den här funktionen för att utföra anpassade avregistreringssteg.

CWinApp::UnregisterShellFileTypes

Anropa den här medlemsfunktionen för att avregistrera alla programdokumenttyper med Windows-filhanteraren.

void UnregisterShellFileTypes();

CWinApp::WinHelp

Anropa den här medlemsfunktionen för att anropa WinHelp-programmet.

virtual void WinHelp(
    DWORD_PTR dwData,
    UINT nCmd = HELP_CONTEXT);

Parametrar

dwData
Anger ytterligare data. Värdet som används beror på värdet för parametern nCmd.

nCmd
Anger vilken typ av hjälp som begärs. En lista över möjliga värden och hur de påverkar parametern dwData finns i funktionen WinHelp Windows.

Anmärkningar

Ramverket anropar också den här funktionen för att anropa WinHelp-programmet.

Ramverket stänger automatiskt WinHelp-programmet när programmet avslutas.

Exempel

// 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

Anropa den här medlemsfunktionen för att skriva binära data till det angivna avsnittet i programmets register eller . INI-fil.

BOOL WriteProfileBinary(
    LPCTSTR lpszSection,
    LPCTSTR lpszEntry,
    LPBYTE pData,
    UINT nBytes);

Parametrar

lpszSection
Pekar på en null-avslutad sträng som anger avsnittet som innehåller posten. Om avsnittet inte finns skapas det. Avsnittets namn är skiftlägesoberoende. strängen kan vara valfri kombination av versaler och gemener.

lpszEntry
Pekar på en null-avslutad sträng som innehåller posten som värdet ska skrivas till. Om posten inte finns i det angivna avsnittet skapas den.

pData
Pekar på de data som ska skrivas.

nBytes
Innehåller antalet byte som ska skrivas.

Returvärde

Nonzero om det lyckas; annars 0.

Exempel

I det här exemplet används CWinApp* pApp = AfxGetApp(); för att komma till klassen CWinApp som illustrerar ett sätt som WriteProfileBinary och GetProfileBinary kan användas från valfri funktion i ett MFC-program.

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

Ett annat exempel finns i exemplet för CWinApp::GetProfileBinary.

CWinApp::WriteProfileInt

Anropa den här medlemsfunktionen för att skriva det angivna värdet till det angivna avsnittet i programmets register eller . INI-fil.

BOOL WriteProfileInt(
    LPCTSTR lpszSection,
    LPCTSTR lpszEntry,
    int nValue);

Parametrar

lpszSection
Pekar på en null-avslutad sträng som anger avsnittet som innehåller posten. Om avsnittet inte finns skapas det. Avsnittets namn är skiftlägesoberoende. strängen kan vara valfri kombination av versaler och gemener.

lpszEntry
Pekar på en null-avslutad sträng som innehåller posten som värdet ska skrivas till. Om posten inte finns i det angivna avsnittet skapas den.

nValue
Innehåller värdet som ska skrivas.

Returvärde

Nonzero om det lyckas; annars 0.

Exempel

I det här exemplet används CWinApp* pApp = AfxGetApp(); för att komma till klassen CWinApp som illustrerar ett sätt som WriteProfileString, WriteProfileInt, GetProfileStringoch GetProfileInt kan användas från valfri funktion i ett MFC-program.

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);

Ett annat exempel finns i exemplet för CWinApp::GetProfileInt.

CWinApp::WriteProfileString

Anropa den här medlemsfunktionen för att skriva den angivna strängen till det angivna avsnittet i programmets register eller . INI-fil.

BOOL WriteProfileString(
    LPCTSTR lpszSection,
    LPCTSTR lpszEntry,
    LPCTSTR lpszValue);

Parametrar

lpszSection
Pekar på en null-avslutad sträng som anger avsnittet som innehåller posten. Om avsnittet inte finns skapas det. Avsnittets namn är skiftlägesoberoende. strängen kan vara valfri kombination av versaler och gemener.

lpszEntry
Pekar på en null-avslutad sträng som innehåller posten som värdet ska skrivas till. Om posten inte finns i det angivna avsnittet skapas den. Om den här parametern är NULL tas avsnittet som anges av lpszSection bort.

lpszValue
Pekar på strängen som ska skrivas. Om den här parametern är NULL tas posten som anges av parametern lpszEntry bort.

Returvärde

Nonzero om det lyckas; annars 0.

Exempel

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);

Ett annat exempel finns i exemplet för CWinApp::GetProfileInt.

CWinApp::SetAppID

Anger uttryckligen programanvändarmodell-ID för programmet. Den här metoden bör anropas innan något användargränssnitt visas för användaren (det bästa stället är programkonstruktorn).

void SetAppID(LPCTSTR lpcszAppID);

Parametrar

lpcszAppID
Anger programanvändarens modell-ID.

Anmärkningar

Se även

CWinThread Class
hierarkidiagram
Så här lägger du till stöd för Restart Manager