|
What is it in particular that im looking at. The variable itslef has to exist as a count for the number of arguments passed to the command line, right?
|
|
|
|
|
Its due when wrote:
What is it in particular that im looking at.
The argc parameter. I'm assuming it's the same argc that was passed to the main() function.
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
Hello,
I want to share the data between Dll to DLL. That is I am having two Dll and one Application program. I know how to share data between a Dll and Application program as given below.
#pragma data_seg(".myseg")
int share=0;
#pragma data_seg()
by defining in the "DEF" like
SECTIONS
.myseg Read Write Shared
but by this method I am not able to share a Data between DLL to DLL
Please suggest me the solution.
Regards
Savita
|
|
|
|
|
A memory mapped file?
Papa
while (TRUE)
Papa.WillLove ( Bebe ) ;
|
|
|
|
|
avoid using MFC in COM srevers as it has thread affinity. wot does this means exactly . !!!
Thanks in advance.
|
|
|
|
|
|
can you tell me wot thread affinity means, in a single sentence also fine.
|
|
|
|
|
most of the MFC objects internally uses local thread storage extensively.
so they are bound to their owner thread, and not supposed to be shared with other threads.
this is why MFC has thread affinity.
It's not a bug, it's an undocumented feature. suhredayan@gmail.com
|
|
|
|
|
To have thread affinity means to be "bound to the thread". Therefore the object can only be used safely from that thread.
In the case of MFC, some objects are bound to threads through MFCs use of Thread Local Storage. Attempting to use the object in a thread other than the thread it is bound to will result in errors since the thread local storage data is not present.
Hope that helps?
-- signature under construction -- -pete
|
|
|
|
|
I have created a windows service using visual C++.
Kindly tell me how do i register its .exe file as windows service.
What command will be used and what steps ll be needed.
reply soon,
Thanks
|
|
|
|
|
CreateService is used to create a service object as well as add the service to the SCM database.
SC_HANDLE CreateService(
SC_HANDLE hSCManager,
LPCTSTR lpServiceName,
LPCTSTR lpDisplayName,
DWORD dwDesiredAccess,
DWORD dwServiceType,
DWORD dwStartType,
DWORD dwErrorControl,
LPCTSTR lpBinaryPathName,
LPCTSTR lpLoadOrderGroup,
LPDWORD lpdwTagId,
LPCTSTR lpDependencies,
LPCTSTR lpServiceStartName,
LPCTSTR lpPassword
);
|
|
|
|
|
no i have .exe file , which i want to register with windows as windows service.
What should i type on command prompt to register it as a service.
thanks.
|
|
|
|
|
|
use command "servicefullpath" -service ,from commandline
prasad
|
|
|
|
|
I want to use IActiveDesktop and have some problems.a dialog based project, codes as below:
stdafx.h:
#include <afxwin.h> // MFC core and standard components
#include <afxext.h> // MFC extensions
#include <wininet.h> //???
#include <afxdisp.h> // MFC Automation classes
#include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls
MyTestDlg.cpp:
#include <shlobj.h> // IActiveDesktop
but the comiler says:IActiveDesktop is not defined,why?
|
|
|
|
|
IActiveDesktop is defined in shlobj.h. This file is part of the Platform SDK. Are you #including this file?
Regards,
John
|
|
|
|
|
my codes as below:
#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
#include <afxwin.h> // MFC core and standard components
#include <afxext.h> // MFC extensions
#include <wininet.h> //!!!
#include <afxdisp.h> // MFC Automation classes
#include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h> // MFC support for Windows Common Controls
#endif // _AFX_NO_AFXCMN_SUPPORT
MyTestDlg.cpp:
#include <shlobj.h> // IActiveDesktop
BOOL CMyTestDlg::EnableActiveDesktop(BOOL bEnable)
{
HRESULT hr;
IActiveDesktop* pIAD;//Error
.....
}
|
|
|
|
|
Hope this helps.
#define _WIN32_WINNT 0x0500
#include <windows.h>
#include <wininet.h>
#include <shlobj.h>
int main (int argc, char* argv[])
{
CoInitialize(NULL);
HRESULT hr;
IActiveDesktop* pAD;
hr = CoCreateInstance(CLSID_ActiveDesktop, NULL, CLSCTX_INPROC_SERVER, IID_IActiveDesktop, (void**)&pAD);
CoUninitialize();
return 0;
}
Regards,
John
|
|
|
|
|
|
stdafx.h:
#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
#include <afxwin.h> // MFC core and standard components
#include <wininet.h> //!!!
#include <shlobj.h> // IActiveDesktop
#include <afxext.h> // MFC extensions
#include <afxdisp.h> // MFC Automation classes!!!!
#include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls
#ifndef _AFX_NO_AFXCMN_SUPPORT
and I have also added the:#define _WIN32_WINNT 0x0500
it still has those error
|
|
|
|
|
Please fix the < and > symbols so that we can see what you are including, or at least preview your post beforehand.
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
#if !defined(AFX_STDAFX_H__F616AF35_2179_40AC_8519_68448B090F9D__INCLUDED_)
#define AFX_STDAFX_H__F616AF35_2179_40AC_8519_68448B090F9D__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
#include afxwin.h
#include wininet.h
#include shlobj.h
#include afxext.h // MFC extensions
#include afxdisp.h // MFC Automation classes
#include afxdtctl.h // MFC support for Internet Explorer 4 Common Controls
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include afxcmn.h // MFC support for Windows Common Controls
#endif // _AFX_NO_AFXCMN_SUPPORT
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_STDAFX_H__F616AF35_2179_40AC_8519_68448B090F9D__INCLUDED_)
// MyTestDlg.cpp : implementation file
//
#include "stdafx.h"
#include "MyTest.h"
#include "MyTestDlg.h"
#include "MyClass.h"
#include "Tracer.h"
#include "CompressPicture.h"
#include "MyDlg.h"
#include shellapi.h
#include psapi.h
void CMyTestDlg::OnButtonOk()
{
IActiveDesktop* p=NULL;
.....
}
the symbols of < and > can not be shown here
|
|
|
|
|
Have you looked in shlobj.h to see what other constraints might be keeping IActiveDesktop from being defined? You've indicated that _WIN32_WINNT has been defined, but was it defined before shlobj.h was included?
yingkou wrote:
the symbols of < and > can not be shown here
Sure they can. Have you not been seeing them in other's posts?
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
#define _WIN32_WINNT 0x0500
#include afxwin.h // MFC core and standard components
#include wininet.h
#include shlobj.h // IActiveDesktop
|
|
|
|
|
Consider this code extract:
.
:
.
m_hLocal = ::LocalAlloc(LHND, sizeof(DLGTEMPLATE) + (sizeof(WORD) * 2) + sizeof(szDlgCaption));
if(!m_hLocal)
return FALSE;
pOut = pBuffer = (BYTE *)::LocalLock(m_hLocal);
if(!pBuffer)
{
::LocalFree(m_hLocal);
return FALSE;
}
memcpy((void*)pOut, (void*)&DlgTemplate, sizeof(DlgTemplate));
pOut += sizeof(DlgTemplate);
*(WORD*)pOut = 0;
*(WORD*)(pOut + 1) = 0;
pOut += (sizeof(WORD) << 1);
memcpy((void*)pOut, (void*)szDlgCaption, sizeof(szDlgCaption));
if((bRetVal = CreateIndirect((DLGTEMPLATE*)pBuffer)))
{
m_pPrompt = new CXDebugPrompt;
m_pConsole = new CXConsole(0x0000d200, 0x00000000);
ASSERT(m_pPrompt != NULL);
ASSERT(m_pConsole != NULL);
GetClientRect(&rect);
if(!m_pConsole->Create(IDD_DEBUG_CONSOLE, this, &rect))
bRetVal = FALSE;
if(!::LocalUnlock(m_hLocal))
XDEBUG_INFO("CXDebugConsole::Setup could not unlock Local Memory used in dialog creation\n");
else
.
:
.
In this extract you can see I am requesting Windows for Local memory allocation and locking (at the beginning). If it allocates and locks flawlessly, it then proceeds with what its meant to do, and, when the memory is finally no longer needed, it attempts to free it.
This is where it goes wrong!
Not only can I not Unlock the memory but also I can't Free it.
My question is, seeing I am creating a modeless-dialogbox, would it be possible, somehow, that CreateIndirect() (or a low-level Win32 API method) be already deallocating the memory for me? I am confused because CreateIndirect does not receive the memory handle held by m_hLocal , although it does receive a pointer to the dialog template...
Thank you so much!
David Nimrod
|
|
|
|