C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 124 - Дальше CWinApp / MFC шаг за шагом / Visual C++

Шаг 124 - Дальше CWinApp

Для получения имени приложения MFC отделяет имя файла от пути. Для этого используется функция AfxGetFileName. Эта функция нигде не описана. Но она есть и её можно использовать.

// Test.cpp : Defines the entry point for the application.
//

#include "stdafx.h"
#include "afxwin.h"

class CMyApp: public CWinApp
{
public:

	virtual BOOL InitInstance();
};

UINT AFXAPI AfxGetFileName(LPCTSTR lpszPathName, LPTSTR lpszTitle, UINT nMax);

BOOL CMyApp::InitInstance()
{
	WriteProfileString("Setion 1","Section Intem","Probe");
	AfxMessageBox(m_pszProfileName);
	AfxMessageBox(m_pszExeName);
	char szExeName[_MAX_PATH];
	VERIFY(AfxGetFileName("c:\\test\\my.exe", szExeName, _MAX_PATH) == 0);
        AfxMessageBox(szExeName);
	return TRUE;
}

CMyApp theApp;
Раз в INI файл можно писать, то можно из него и читать. Это делает функция GetProfileString
BOOL CMyApp::InitInstance()
{
	AfxMessageBox(GetProfileString("Setion 1","Section Intem","NULL"));
	return TRUE;
}
А Вот и её описание.
CString GetProfileString
( 
 LPCTSTR lpszSection, 		 // секция
 LPCTSTR lpszEntry, 		 // раздел
 LPCTSTR lpszDefault = NULL      // значение в случае ошибки
);
Как видите эта функция тоже копия функции Win32 API

Какие еще есть переменные ?? Например, переменная имени Help файла.

BOOL CMyApp::InitInstance()
{
	AfxMessageBox(m_pszHelpFilePath);
	return TRUE;
}
так же есть строка с параметрами переданными при запуске программы.
BOOL CMyApp::InitInstance()
{
	AfxMessageBox(m_lpCmdLine);
	return TRUE;
}

Если вы просто запустите программу, то конечно ничего не увидите в смысле параметров. Но вот можно сделать интересный трюк. Если вы поместите ярлык вашей программы в папку Windows\SendTo, то увидите, что при нажатии правой кнопки мыши в меню отправить появилась ваша программа. Отправьте туда документ и вы увидите, что Вашей программе просто передается имя этого документа.


Загрузить проект | | |
Автор Каев Артем.
[AD]