Click here to Skip to main content
15,909,199 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralGetting text from MFC status-bar (subclassed msctls_statusbar32) Pin
Vitaly Belman22-Jun-02 14:31
Vitaly Belman22-Jun-02 14:31 
GeneralQuestion about MS Script Control Pin
22-Jun-02 14:17
suss22-Jun-02 14:17 
GeneralTerminal Services Client API Pin
StefanM22-Jun-02 14:06
StefanM22-Jun-02 14:06 
GeneralReBar toolbar chevron drop-down menu no icon Pin
Hiusing22-Jun-02 10:11
Hiusing22-Jun-02 10:11 
General_beginthread Pin
22-Jun-02 9:45
suss22-Jun-02 9:45 
GeneralRe: _beginthread Pin
Michael Dunn22-Jun-02 9:55
sitebuilderMichael Dunn22-Jun-02 9:55 
GeneralRe: _beginthread Pin
22-Jun-02 9:56
suss22-Jun-02 9:56 
GeneralShell Extension problem Pin
Hiusing22-Jun-02 9:03
Hiusing22-Jun-02 9:03 
Hello,
I'm working on shell extension but I've got a problem. I would like user able to select one or more files and also folders and right click to access my software (Firegraphic XP). However, when user select more then one folder and access the "Explorer, Open or Search...", my software launch instead of the Explorer. And my software looks launch for each folder. If user only select one folder, everything seems fine. Here's the code I wrote, hope someone can give me some idea.

HRESULT CFiregrxpShEx::QueryContextMenu(
HMENU hmenu,
UINT uMenuIndex,
UINT uidFirstCmd,
UINT uidLastCmd,
UINT uFlags)
{
if (uFlags & CMF_DEFAULTONLY)
return MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_NULL, 0);

if (m_files.IsEmpty())
return E_INVALIDARG;

int nMenu = 0;
// m_files is the files & folders list (can be max), if the first selected
// is a folder then I want to launch Firegraphic XP and open that folder
if (PathIsDirectory(m_files[0]))
{
InsertMenu(hmenu, uMenuIndex, MF_BYPOSITION, uidFirstCmd++, _T("Browse with Firegraphic XP"));
SetMenuItemBitmaps(hmenu, uMenuIndex, MF_BYPOSITION, g_hBmpFiregrxp, NULL);
nMenu++;
}
else
{
// User selected images
}
return MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_NULL, nMenu);
}


HRESULT CFiregrxpShEx::InvokeCommand(LPCMINVOKECOMMANDINFO pCmdInfo)
{
if (m_files.IsEmpty())
return E_INVALIDARG;

// Get the Firegraphic.exe InstallPath
TCHAR szPath[MAX_PATH];
HKEY hKey;
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Firegraphic\\Firegraphic XP"), 0, KEY_READ, &hKey) == ERROR_SUCCESS)
{
DWORD nData = sizeof(szPath);
if (RegQueryValueEx(hKey, _T("InstallPath"), 0, NULL, (LPBYTE)szPath, &nData) == ERROR_SUCCESS)
PathAppend(szPath, _T("FiregraphicXP.exe"));
RegCloseKey(hKey);
}

STARTUPINFO sui = { 0 };
PROCESS_INFORMATION pi = { 0 };
TCHAR szQuotedFileName[MAX_PATH];

if (PathIsDirectory(m_files[0])) // Browse with Firegraphic XP
{
TCHAR szCmdLine[MAX_PATH];
lstrcpy(szQuotedFileName, m_files[0]);
PathQuoteSpaces(szQuotedFileName);
lstrcpy(szCmdLine, _T(" "));
lstrcat(szCmdLine, szQuotedFileName);

if (CreateProcess(szPath, szCmdLine, NULL, NULL, FALSE, CREATE_BREAKAWAY_FROM_JOB, NULL, NULL, &sui, &pi))
{
CloseHandle(pi.hProcess);
return S_OK;
}
}

return E_INVALIDARG;
}



Hiu Sing Ngai
Firegraphic.com
GeneralRe: Shell Extension problem Pin
Michael Dunn22-Jun-02 9:39
sitebuilderMichael Dunn22-Jun-02 9:39 
GeneralRe: Shell Extension problem Pin
Hiusing22-Jun-02 10:09
Hiusing22-Jun-02 10:09 
GeneralLooking for MSDN ThemeExplorer sample Pin
Michael Dunn22-Jun-02 8:04
sitebuilderMichael Dunn22-Jun-02 8:04 
GeneralRe: Looking for MSDN ThemeExplorer sample Pin
Michael P Butler23-Jun-02 3:17
Michael P Butler23-Jun-02 3:17 
GeneralRe: Looking for MSDN ThemeExplorer sample Pin
Michael Dunn23-Jun-02 8:47
sitebuilderMichael Dunn23-Jun-02 8:47 
GeneralVariable ! Pin
vikramlinux22-Jun-02 7:46
vikramlinux22-Jun-02 7:46 
GeneralPID [was: Variable !] Pin
Mike Nordell23-Jun-02 17:25
Mike Nordell23-Jun-02 17:25 
GeneralRe: PID [was: Variable !] Pin
vikramlinux23-Jun-02 20:30
vikramlinux23-Jun-02 20:30 
Generalbitmap resource under WIN2000 Pin
Kuniva22-Jun-02 7:26
Kuniva22-Jun-02 7:26 
GeneralComplier Error - Resource File too large in VC6 Pin
22-Jun-02 7:26
suss22-Jun-02 7:26 
GeneralRe: Complier Error - Resource File too large in VC6 Pin
redeemer22-Jun-02 7:38
redeemer22-Jun-02 7:38 
GeneralRe: Complier Error - Resource File too large in VC6 Pin
Shivaa22-Jun-02 8:35
Shivaa22-Jun-02 8:35 
GeneralRe: Complier Error - Resource File too large in VC6 Pin
redeemer22-Jun-02 11:22
redeemer22-Jun-02 11:22 
GeneralRe: Complier Error - Resource File too large in VC6 Pin
Mike Nordell23-Jun-02 17:30
Mike Nordell23-Jun-02 17:30 
Generaldata base problem Pin
SilentWarrior22-Jun-02 7:22
SilentWarrior22-Jun-02 7:22 
GeneralRe: data base problem Pin
SamirSood22-Jun-02 23:27
SamirSood22-Jun-02 23:27 
QuestionHow do i change the name of my project and workspace? Pin
redeemer22-Jun-02 6:55
redeemer22-Jun-02 6:55 

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.