|
Do these articles help any?
http://www.codeproject.com/csharp/wmi.asp?target=select
http://www.codeproject.com/useritems/PrntJobControllerUsingWMI.asp?target=select
Or this thread?
"The pointy end goes in the other man." - Antonio Banderas (Zorro, 1998)
|
|
|
|
|
Hi there,
I am trying to implement a privacy control functionality to block cookies, somethign similar to what IE 6.0 is doing now. I can get to teh point of reading them throught IHTMLDocument interface, btu have not figured out how to stop them from writing onto the cookie folder.
has anybody done anything similar to thsi or can you suggest me soem ideas in this regard?
Thank you,
subbu
|
|
|
|
|
Hi Everybody,
I am tryieng to load bitmap dynamically from a perticular memory location. I am giving the patch of the bitmap to CBitmap::LoadBItmap(...) member function. But it is not working. I think CBitmap::LoadBItmap(..) does not take the patch of the bitmap. I think there is another procedure to achieve it. If any one konws how to load the bitmap dynamically. please let me know.
bbye
Salman
Live and Let live
|
|
|
|
|
CreateDIBSection .
Next!
Stability. What an interesting concept. -- Chris Maunder
|
|
|
|
|
Well, i am not about MFC, but using API u can do it the following way. Go through the code and i hope you can easily port it to MFC.
If you want to dynamically load a bitmap included as a resouce, use the following code:
<br />
HDC hdc,bdc;<br />
bdc=CreateCompatibleDC(hdc);<br />
hBmp=LoadBitmap(gloInst,"BMP_SYSTRAY");
SelectObject(bdc,hBmp);<br />
BitBlt(hdc,0,0,200,100,bdc,0,0,SRCCOPY);<br />
DeleteDC(bdc);
The potential problem with this approach is that you cant pick bitmaps from the disk(any file) and bitmaps that have more than 256 colors.
Alternatively if you want to dynamically load any bitmap of any size and any bit-depth, use the following code:
When you process the WM_PAINT message, use the following code to draw the bitmap:
static BITMAPFILEHEADER * pbmfh ;
static BITMAPINFO * pbmi ;
static BYTE * pBits ;
static int cxDib, cyDib ;
static TCHAR szFileName [MAX_PATH], szTitleName [MAX_PATH] ;
HDC hdc ;
PAINTSTRUCT ps ;
WM_PAINT://For MFC use OnPaint(){//insert the following code}
hdc = BeginPaint (hwnd, &ps) ;
pbmfh = DibLoadImage (szFileName) ;//DEFINITION FOR THIS IS GIVEN BELOW, "szFileName is the PATH OF THE ".BMP" FILE e.g."c:\\test.bmp"
if (pbmfh == NULL)
{
MessageBox (hwnd, TEXT ("Cannot load DIB file"),"error",0) ;
return 0 ;
}
// Get pointers to the info structure & the bits
pbmi = (BITMAPINFO *) (pbmfh + 1) ;
pBits = (BYTE *) pbmfh + pbmfh->bfOffBits ;
// Get the DIB width and height
if (pbmi->bmiHeader.biSize == sizeof (BITMAPCOREHEADER))
{
cxDib = ((BITMAPCOREHEADER *) pbmi)->bcWidth ;
cyDib = ((BITMAPCOREHEADER *) pbmi)->bcHeight ;
}
else
{
cxDib = pbmi->bmiHeader.biWidth ;
cyDib = abs (pbmi->bmiHeader.biHeight) ;
}
SetDIBitsToDevice (hdc,
0, // xDst
0, // yDst
cxDib, // cxSrc
cyDib, // cySrc
0, // xSrc
0, // ySrc
0, // first scan line
cyDib, // number of scan lines
pBits,
pbmi,
DIB_RGB_COLORS) ;
EndPaint (hwnd, &ps) ;
BITMAPFILEHEADER * DibLoadImage (PTSTR pstrFileName)<br />
{<br />
BOOL bSuccess ;<br />
DWORD dwFileSize, dwHighSize, dwBytesRead ;<br />
HANDLE hFile ;<br />
BITMAPFILEHEADER * pbmfh ;<br />
<br />
hFile = CreateFile (pstrFileName, GENERIC_READ, FILE_SHARE_READ, NULL,<br />
OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN, NULL) ;<br />
<br />
if (hFile == INVALID_HANDLE_VALUE)<br />
return NULL ;<br />
<br />
dwFileSize = GetFileSize (hFile, &dwHighSize) ;<br />
<br />
if (dwHighSize)<br />
{<br />
CloseHandle (hFile) ;<br />
return NULL ;<br />
}<br />
<br />
pbmfh = malloc (dwFileSize) ;<br />
if (!pbmfh)<br />
{<br />
CloseHandle (hFile) ;<br />
return NULL ;<br />
}<br />
<br />
bSuccess = ReadFile (hFile, pbmfh, dwFileSize, &dwBytesRead, NULL) ;<br />
CloseHandle (hFile) ;<br />
if (!bSuccess || (dwBytesRead != dwFileSize) <br />
|| (pbmfh->bfType != * (WORD *) "BM") <br />
|| (pbmfh->bfSize != dwFileSize))<br />
{<br />
free (pbmfh) ;<br />
return NULL ;<br />
}<br />
return pbmfh ;<br />
}
Remember... testing & debugging are always part of programming ...so exterminate those stinking bugs
|
|
|
|
|
Hi
You can try to use the loadimage function ?
d
|
|
|
|
|
I am a VC++ freshman, pls help me! Thanx a lot!!
How can I derive a MFC class from CMenu thus I can use Message Reflection ?
"Insert" Menu -> "New Class"
but I cannot see CMenu (and many other classes) in the "Base Class" edit control!!!!!
To be or not to be!
|
|
|
|
|
You could select CObject from the list, then when the class is created replace all CObject references with CMenu.
Otherwise generate a generic class based on CMenu and do all the message stuffs manually.
Ant.
|
|
|
|
|
Thanx for you attention!
but it doesn't work.
1. No CObject in the Base Class list either.
2. What I want to do is using Message Reflection in my derived calss. If I choose generic class,I cannot use Class Wizard to add Message Reflection. I tried to derive from CStatic (or others),then replaced, but I got an error as follow:
error C2039: 'messageMap' : is not a member of 'CMenu'.
if no massagemap, how can I use Message Reflecion???
To be or not to be!
|
|
|
|
|
if no massagemap, how can I use Message Reflecion???
Quite, sorry the class has to be derived from CWnd in order to use message maps and reflection macros.
Ant.
|
|
|
|
|
God bless me!
I wanted to write a neat owner-draw menu class that can process WM_MEASUREITEM & WM_DRAWITEM in itselt, but.....
Must I give up???
I add a virtual func. MeasureItem()to my menu class, but it doesnot work with the menu item opened a submenu, why??
To be or not to be!
|
|
|
|
|
I have a DLL file that contains all the functions required to interact with a USB hardware interface device. There is also a corresponding header file which I got from the device manufacturer. I include the header file in my MFC application and put the DLL file in the debug folder of my project. But still I get compile error saying that it doesn't know anything about those functions I used from the DLL file. After some more research I think I need a .lib file and that I should link it to the project . Using an already compiled DLL seems not as straight forward to me and so I'd really appreciate your kind help.
I'm beginning to know that I don't know.
|
|
|
|
|
Yes you will need the .lib file and the .h file in order to use the fuctions in the DLL, this is by all means the easiest way.
Without either of these you can prototype all functions you use and use LoadLibrary() to load the corresponding DLL.
Ant.
|
|
|
|
|
Don't use static linking, use dynamic loading of the dll functions like this:
typedef bool (*t_pFunc1)(LPCTSTR Param1, long Param2, bool Param3, ....);
t_pFunc1 m_pfFunc1;
HINSTANCE m_hLibraryInstance;
//Load dll library
m_hLibraryInstance = ::LoadLibrary(_T("Sample.dll"));
//load function
m_pfFunc1 = (t_pFunc1)::GETFUNCADDRESS(m_hLibraryInstance,"Func1");
//Dll call
m_pfFuncDll(param1, param2, param3, ... );
were rgrtgrtvrtrt rtrtb brt tyuhjghj hbhbnh hnjm 1234567?
|
|
|
|
|
Thank you guys. I stumbled upon some article that will guide me through linking it to the project.
|
|
|
|
|
Can I load dll library from other computer in LAN, using:
HINSTANCE LoadLibrary(LPCTSTR lpLibFileName);
were rgrtgrtvrtrt rtrtb brt tyuhjghj hbhbnh hnjm 1234567?
|
|
|
|
|
The best way to answer that is to just try it. If LoadLibrary() fails, call GetLastError() to find out why.
"The pointy end goes in the other man." - Antonio Banderas (Zorro, 1998)
|
|
|
|
|
If you use a UNC path you should be able to, as long as your programming is running under a user context that has access to the network share.
For instance:
HINSTANCE h = ::LoadLibray(_T("\\\\Computer\\Share\\MyDLL.dll"));
Note that if you are running under some weird user context (e.g., the System account) you might not have access to the network at all, in which case you certainly won't be able to load the DLL.
Sometimes I feel like I'm a USB printer in a parallel universe.
|
|
|
|
|
I'm working with a video framgrabber in Windows and having trouble getting access to pixel-level information. I have found solutions to access the card through high-level Windows API (Video capture window) and then save the image as a .bmp, but this requires too much turn around time. Idealy I'd like to open the card and make direct calls that return the digitized video signal as pixels in an array. Any help or direction would be appreciated.
Flea
|
|
|
|
|
How do I find if the machine is idle for more than 10 mins
from my VC++ program
Jack
|
|
|
|
|
|
I have a project with the base name "Shelf2".
Is there a straightforward way to rename everying in it to "Shelf3" for example. I have though of using find and replace in files but not sure if that would catch everything.
Ta.
Elaine
The tigress is here
|
|
|
|
|
Depending on how often you need to reuse the code it may be just as easy to set up an appwizard. VC.NET minimised the custom appwizard nightmare from VC6. It takes a while to get them right but it's not too bad.
Extracting the common code to a shared library first made the job a lot smaller.
If you can keep you head when all about you
Are losing theirs and blaming it on you;
If you can dream - and not make dreams your master;
If you can think - and not make thoughts you aim;
Yours is the Earth and everything that's in it.
Rudyard Kipling
|
|
|
|
|
Trollslayer wrote:
I have though of using find and replace in files but not sure if that would catch everything.
I have done this many times with VC6 projects. I load all the text files including project files and clw files into EditPad[^] and do a find and replace on all loaded documents. Then I have to rename all the files to match.
[EDIT]
I have also used the following tool in the past but I am not sure it renames everything: http://www.codeproject.com/tools/vsrename.asp?target=rename%7Cproject#xx774298xx[^]
[/EDIT]
John
|
|
|
|
|