Click here to Skip to main content
15,912,897 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
AnswerRe: DialogBox() function problem Pin
Prasann Mayekar26-Sep-08 2:28
Prasann Mayekar26-Sep-08 2:28 
Questionerror C2664: 'GetVolumeInformationW' : cannot convert parameter 2 from 'char [256]' to 'LPWSTR' Pin
VCProgrammer26-Sep-08 2:13
VCProgrammer26-Sep-08 2:13 
AnswerRe: error C2664: 'GetVolumeInformationW' : cannot convert parameter 2 from 'char [256]' to 'LPWSTR' Pin
Prasann Mayekar26-Sep-08 2:32
Prasann Mayekar26-Sep-08 2:32 
GeneralRe: error C2664: 'GetVolumeInformationW' : cannot convert parameter 2 from 'char [256]' to 'LPWSTR' Pin
VCProgrammer26-Sep-08 2:38
VCProgrammer26-Sep-08 2:38 
AnswerRe: error C2664: 'GetVolumeInformationW' : cannot convert parameter 2 from 'char [256]' to 'LPWSTR' Pin
David Crow26-Sep-08 2:36
David Crow26-Sep-08 2:36 
Questionhow to get Style of ListView control Pin
Bernaad26-Sep-08 1:31
Bernaad26-Sep-08 1:31 
AnswerRe: how to get Style of ListView control Pin
SandipG 26-Sep-08 1:42
SandipG 26-Sep-08 1:42 
GeneralRe: how to get Style of ListView control Pin
Bernaad26-Sep-08 1:48
Bernaad26-Sep-08 1:48 
GeneralRe: how to get Style of ListView control Pin
SandipG 26-Sep-08 1:53
SandipG 26-Sep-08 1:53 
QuestionRe: how to get Style of ListView control Pin
Bernaad26-Sep-08 2:01
Bernaad26-Sep-08 2:01 
AnswerRe: how to get Style of ListView control Pin
SandipG 26-Sep-08 2:08
SandipG 26-Sep-08 2:08 
GeneralRe: how to get Style of ListView control Pin
Bernaad28-Sep-08 17:35
Bernaad28-Sep-08 17:35 
AnswerRe: how to get Style of ListView control Pin
David Crow26-Sep-08 2:38
David Crow26-Sep-08 2:38 
Questionm_hMenuShared CXX0017: Fehler: Symbol "" not found Pin
susanne126-Sep-08 1:18
susanne126-Sep-08 1:18 
Questionwhere to delete Pin
ptr_Electron26-Sep-08 1:17
ptr_Electron26-Sep-08 1:17 
AnswerRe: where to delete Pin
Chris Losinger26-Sep-08 1:36
professionalChris Losinger26-Sep-08 1:36 
QuestionRe: where to delete Pin
David Crow26-Sep-08 2:41
David Crow26-Sep-08 2:41 
AnswerRe: where to delete Pin
ptr_Electron28-Sep-08 20:54
ptr_Electron28-Sep-08 20:54 
QuestionOn the fly changing the form of a CFormView Pin
ilgale26-Sep-08 0:18
ilgale26-Sep-08 0:18 
AnswerRe: On the fly changing the form of a CFormView Pin
SandipG 26-Sep-08 0:58
SandipG 26-Sep-08 0:58 
AnswerRe: On the fly changing the form of a CFormView Pin
Ahmed Charfeddine26-Sep-08 1:02
Ahmed Charfeddine26-Sep-08 1:02 
AnswerRe: On the fly changing the form of a CFormView Pin
Iain Clarke, Warrior Programmer27-Sep-08 12:04
Iain Clarke, Warrior Programmer27-Sep-08 12:04 
QuestionWhats the best way to simplyfy this function? Pin
monsieur_jj25-Sep-08 23:59
monsieur_jj25-Sep-08 23:59 
hi all,

Whats the best way to simplyfy this function?

LRESULT CMainDlg::OnInstall(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{	
	DWORD BufferSize, Size, Type;
	BufferSize = TOTALBYTES;
	PPERF_DATA_BLOCK PerfData = (PPERF_DATA_BLOCK) malloc( BufferSize );
	string LaunchInstaller;
	string InstallFolder;
	CAtlString StrTable;

	TCHAR tcItemText[MAXBYTES];
		
		StrTable.LoadStringA(IDS_ServiceRegEntry);
		LaunchInstaller.append(StrTable.GetString());
		StrTable.LoadStringA(IDS_LongProjectName);
		LaunchInstaller.append(StrTable.GetString());
		StrTable.LoadStringA(IDS_ServiceParam);
		LaunchInstaller.append(StrTable.GetString());
		LaunchInstaller.append("\\");
		StrTable.LoadStringA(IDS_MANAGEKEY);
		LaunchInstaller.append(StrTable.GetString());

	if(UpdateList.GetItemText(Select, tcItemText, MAXBYTES))
	{
	LaunchInstaller.append("\\");
	LaunchInstaller.append(tcItemText);
	InstallFolder = tcItemText;
		lResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE, LaunchInstaller.c_str(), REG_OPTION_NON_VOLATILE, 
			KEY_ALL_ACCESS,&Regentry);
				if (lResult == ERROR_SUCCESS) 
				{
					Size = BufferSize;
					StrTable.LoadStringA(IDS_UPDATEINSTALL);
					lResult = RMRegQueryValueEx(Regentry, StrTable.GetString(), NULL, &Type, reinterpret_cast<LPBYTE>(SoftwareInstaller), &Size);
					Size = BufferSize;
					StrTable.LoadStringA(IDS_UPDATEFILE);
					RMRegQueryValueEx(Regentry, StrTable.GetString(), NULL, &Type, reinterpret_cast<LPBYTE>(SoftwarePath), &Size);
							if(lResult == ERROR_SUCCESS)
							{
								
									Path = SoftwarePath; 
									InstallFolder = SoftwareInstaller;
									if(!(Path.empty()))
									{
										ExecuteInstaller(Path, InstallFolder);
									}
							}
					RegCloseKey(Regentry);
					Regentry = NULL;
				}
				else 
				{
				LaunchInstaller = "";
				StrTable.LoadStringA(IDS_ServiceRegEntry);
				LaunchInstaller.append(StrTable.GetString());
				StrTable.LoadStringA(IDS_LongProjectName);
				LaunchInstaller.append(StrTable.GetString());
				StrTable.LoadStringA(IDS_ServiceParam);
				LaunchInstaller.append(StrTable.GetString());
				LaunchInstaller.append("\\");
				StrTable.LoadStringA(IDS_RERITEKEY);
				LaunchInstaller.append(StrTable.GetString());
				LaunchInstaller.append("\\");
				LaunchInstaller.append(tcItemText);

				InstallFolder = tcItemText;
				
				lResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE, LaunchInstaller.c_str(), REG_OPTION_NON_VOLATILE, 
				KEY_ALL_ACCESS,&Regentry);
					if (lResult == ERROR_SUCCESS) 
					{
						Size = BufferSize;
						StrTable.LoadStringA(IDS_UPDATEINSTALL);
						lResult = RMRegQueryValueEx(Regentry, StrTable.GetString(), NULL, &Type, reinterpret_cast<LPBYTE>(SoftwareInstaller), &Size);
						Size = BufferSize;
						StrTable.LoadStringA(IDS_UPDATEFILE);
						RMRegQueryValueEx(Regentry, StrTable.GetString(), NULL, &Type, reinterpret_cast<LPBYTE>(SoftwarePath), &Size);
								if(lResult == ERROR_SUCCESS)
								{
									
									Path = SoftwarePath; 
									InstallFolder = SoftwareInstaller;
										if(!(Path.empty()))
										{
											ExecuteInstaller(Path, InstallFolder);
										}
								}
						RegCloseKey(Regentry);
						Regentry = NULL;
					}
					else
					{
					LaunchInstaller = "";
					StrTable.LoadStringA(IDS_ServiceRegEntry);
					LaunchInstaller.append(StrTable.GetString());
					StrTable.LoadStringA(IDS_LongProjectName);
					LaunchInstaller.append(StrTable.GetString());
					StrTable.LoadStringA(IDS_ServiceParam);
					LaunchInstaller.append(StrTable.GetString());
					LaunchInstaller.append("\\");
					StrTable.LoadStringA(IDS_RERITEASIANKEY);
					LaunchInstaller.append(StrTable.GetString());
					LaunchInstaller.append("\\");
					LaunchInstaller.append(tcItemText);

					InstallFolder = tcItemText;

					lResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE, LaunchInstaller.c_str(), REG_OPTION_NON_VOLATILE, 
						KEY_ALL_ACCESS,&Regentry);
					if (lResult == ERROR_SUCCESS) 
					{
						Size = BufferSize;
						StrTable.LoadStringA(IDS_UPDATEINSTALL);
						lResult = RMRegQueryValueEx(Regentry, StrTable.GetString(), NULL, &Type, reinterpret_cast<LPBYTE>(SoftwareInstaller), &Size);
						Size = BufferSize;
						StrTable.LoadStringA(IDS_UPDATEFILE);
						RMRegQueryValueEx(Regentry, StrTable.GetString(), NULL, &Type, reinterpret_cast<LPBYTE>(SoftwarePath), &Size);
								if(lResult == ERROR_SUCCESS)
								{
									Path = SoftwarePath; 
									InstallFolder = SoftwareInstaller;
										if(!(Path.empty()))
										{
											ExecuteInstaller(Path, InstallFolder);
										}
								}
						RegCloseKey(Regentry);
						Regentry = NULL;
					}
					else
					{
					LaunchInstaller = "";
					StrTable.LoadStringA(IDS_ServiceRegEntry);
					LaunchInstaller.append(StrTable.GetString());
					StrTable.LoadStringA(IDS_LongProjectName);
					LaunchInstaller.append(StrTable.GetString());
					StrTable.LoadStringA(IDS_ServiceParam);
					LaunchInstaller.append(StrTable.GetString());
					LaunchInstaller.append("\\");
					StrTable.LoadStringA(IDS_RERITECHINAKEY);
					LaunchInstaller.append(StrTable.GetString());
					LaunchInstaller.append("\\");
					LaunchInstaller.append(tcItemText);

					InstallFolder = tcItemText;

					lResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE, LaunchInstaller.c_str(), REG_OPTION_NON_VOLATILE, 
						KEY_ALL_ACCESS,&Regentry);
					if (lResult == ERROR_SUCCESS) 
					{
						Size = BufferSize;
						StrTable.LoadStringA(IDS_UPDATEINSTALL);
						lResult = RMRegQueryValueEx(Regentry, StrTable.GetString(), NULL, &Type, reinterpret_cast<LPBYTE>(SoftwareInstaller), &Size);
						Size = BufferSize;
						StrTable.LoadStringA(IDS_UPDATEFILE);
						RMRegQueryValueEx(Regentry, StrTable.GetString(), NULL, &Type, reinterpret_cast<LPBYTE>(SoftwarePath), &Size);
								if(lResult == ERROR_SUCCESS)
								{
									Path = SoftwarePath; 
									InstallFolder = SoftwareInstaller;
										if(!(Path.empty()))
										{
											ExecuteInstaller(Path, InstallFolder);
										}
								}
						RegCloseKey(Regentry);
						Regentry = NULL;
					}
					}
				}
				}

	}
	else
	{
	ATL::CString str;

    str.Format ( _T("Please choose an item to install"));
    MessageBox ( str, _T("Redmap Update Manager"), MB_ICONWARNING );
	}
	free( PerfData );
	return 0;
}


Thanks,
Jayjay
QuestionRe: Whats the best way to simplyfy this function? Pin
CPallini26-Sep-08 0:20
mveCPallini26-Sep-08 0:20 
AnswerRe: Whats the best way to simplyfy this function? Pin
monsieur_jj26-Sep-08 0:53
monsieur_jj26-Sep-08 0:53 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.