|
How can I get the name and the path of the executing exe (or dll) at run-time?
Thanks,
Einar
|
|
|
|
|
GetModuleFileName.
Steve S
Developer for hire
|
|
|
|
|
That seems to be what I need but I encountered something unexpected.
I am working on a conduit for Palm Hotsync and if I add the following code to my conduit DLL source code:
TCHAR szFilename[256];
GetModuleFileName(NULL, szFilename, 256);
szFilename is now equal to :
C:\Program Files\PalmSource\Palm OS CDK\Common\Bin\Hotsync.exe
Which is the exe that calls the conduit DLL.
DWORD GetModuleFileName(
HMODULE hModule,
LPTSTR lpFilename,
DWORD nSize
);
According to the helpfile:
hModule [in] Handle to the module whose path is being requested. If this parameter is NULL, GetModuleFileName retrieves the path for the current module.
Any idea what I should use for hModule?
Thanks,
Einar
|
|
|
|
|
If you search your DLL, you will find a function called DllMain.
One of its parameters is HINSTANCE hInstance. You can pass
this to GetModuleFileName.
Iain.
|
|
|
|
|
Excellent. That is just what I needed.
Thank you very much.
Sincerely,
Einar
|
|
|
|
|
Hello Friends,
I want to change the text color of the item present in a Tree control at the run time depending upon some value.
For example I am having a boolean variable
bool bValid = false;
I want set the item text color to red whenever bValid == true;
How can this be done?
Please help me.
thanks in Advance.
Neelesh K J Jain.
|
|
|
|
|
If you look at NM_CUSTOMDRAW for the tree view, it calls the parent for each item.
Along with the message is a NMTVCUSTOMDRAW struct, where you can set the text / back
colours. Part of that is a NMCUSTOMDRAW struct, with parameters identifying the
individual item. The lItemlParam member will likely be some information you have
set using TVM_SETITEM or its like.
You may also find what you want in the Tree View section of this site!
Iain.
|
|
|
|
|
Hello Iain,
Thanks for your reply. I am using CFormView in which I have two controls (i.e., Combobox and TreeControl). I am not having the Customdraw message handler for the control. please help me
Thank you in Advance.
Neelesh K J Jain.
|
|
|
|
|
Hi there,
does anybody know how to change programatically the settings for the serial port FIFO buffer ? I'd like to change it from the default 16 to 1, or even disable it, as it is possible in the WinXP device manager?
I know the way to change it via Registry, but therefore you have to have admin-privilleges and then reboot the system. Is there any API-Function for it, like for the other serial port settings ?
thanks for help
|
|
|
|
|
I haven't done it myself, but it looks like SetCommProperties / COMMPROP
are what you are after.
Iain.
|
|
|
|
|
I have a Split Frame Window in my MSVC++ 6 application. In my OnNewDocument() override, I am calling the SetTitle() function. At any point past that I can call GetTitle() and it will return the correct title that I set, but the title never does appear in the title bar of the frame window. It just displays the program name. Why is this, and how can I display the text I want in the title bar?
Marcos Secca
|
|
|
|
|
Friends,
In case of VC 6.0 we can only use the classes like CString and CTime only in MFC. However in VC 7.0, these can be used in an application without MFC dependency.
I am using VC 6.0 and wants to use the class CTime (without including MFC). Is there any possible way ?? It is included in "atltime.h" which is included with VC-7
Imtiaz
|
|
|
|
|
isn't there a time.h file you can use for VC6 ?
If I write code in my sleep, does that make me brilliant, or just a lazy programmer?
My articles
www.stillwaterexpress.com
BlackDice - the programmer formerly known as bdiamond
|
|
|
|
|
Can any guide me how to use collection object in VC++
|
|
|
|
|
|
I have a question about DOT Net, Visual Studio 2003 .NET and Windows 2000 Professional.
Its the first time I have used this Visual Studio. I am trying to program in Visual C++, but the C aspect of it.
Using SOCKET and all the functions I am trying to create the server side of a client server application.
When using Visual C++ 4.0 on NT4, my program works, but when I re-compile it in visual studio .net the following SOCKET error message "actively refused connection 10061" .
My question is have you done any socket programming ? and if you had would you know of any reason why the above code when compiled in .NET does not work correctly.
|
|
|
|
|
hello,
how do i retrieve this particular system color (see link). ive tried GetSysColor() with every possible parameter, but no luck (color depends on the selected theme) .
thanks in advance for any post!
http://www.uidesign.de/images/xp_themes.jpg
|
|
|
|
|
If you are pointing to the border colour, it looks a lot like
GetSysColor (COLOR_3DSHADOW) to me.
Iain.
|
|
|
|
|
hello iain,
thank you very much for your reply. you are right i am pointing to the border color but with GetSysColor (COLOR_3DSHADOW) i always get the same color (gray) on every xp color scheme. as you can see in the screenshot this color ist on every color scheme different.
any other ideas?
|
|
|
|
|
For what it is worth, Iain is right. That is certainly a valid way to produce the colors you are looking for.
If you are still having issues, it sounds to me like something else is overwriting the color you are looking for. As a test, you may consider changing the line from GetSysColor(COLOR_3DSHADOW) to RGB(255,0,0) - bright red - to see if it actually turns to red. If it is still grey, you've found that something else is changing it to grey...
Anyway - GetSysColor(COLOR_3DSHADOW) is the way to go...
Marcus Spitzmiller
"Why must life be so hard? Why must I fail at every attempt at masonry?" - Homer
|
|
|
|
|
hi marcus, thank you for your reply.
ive changed GetSysColor(COLOR_3DSHADOW) to RGB(255,0,0) and it turns to red just as it should.
GetSysColor(COLOR_3DSHADOW) does not return a blue color on a themed xp system with color scheme blue. it returns a grey color, wich on any scheme is the same.
i would like to have this color to draw my own border around my splitted views. CSplitterWnd draws it only in classic look (3d border). and this looks ugly to me.
dude77
|
|
|
|
|
I think I see what you are getting at now.
I'm not sure that this is what you are looking for, but I think it might be one of these. If not, sorry I can't be more help...
GetSysColor(COLOR_GRADIENTACTIVECAPTION)
GetSysColor(COLOR_ACTIVECAPTION)
Marcus Spitzmiller
"Why must life be so hard? Why must I fail at every attempt at masonry?" - Homer
|
|
|
|
|
GetSysColor(COLOR_GRADIENTACTIVECAPTION) and GetSysColor(COLOR_ACTIVECAPTION) both return a color which is is on every xp color scheme different. but it is not the exact color i am looking for.
i think Iain pointed it already out. it has to be something with xp drawing...but i dont know very much about it.
nevertheless thank you for taking your time. your help was very welcome.
|
|
|
|
|
I've just experimented with different colours, and I get different values for GetSysColor (COLOR_3DSHADOW).
BUT...
I am using W2K, and changing the Colour Scheme in the Appearance page of Display Properties.
It is possible that XP is not updating the Scheme when the Theme is changed. They even rhyme!
But I would say this is *very* unlikely...
I'll have a look on my XP machine at home tonight, and see what happens.
Iain.
|
|
|
|
|
I've been experimenting, and made a small SDI application.
I added the following code to the OnDraw method of the view:
void CColourTestView::OnDraw(CDC* pDC)
{
CColourTestDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CRect rc;
GetClientRect (&rc);
pDC->FillSolidRect (&rc, RGB(255,0,0));
rc.DeflateRect (20,20);
pDC->FillSolidRect (&rc, GetSysColor (COLOR_3DSHADOW));
}
On 2000, changing the colours gets reflected in the view.
Most colours are grey, but it does work.
In XP, if you choose Windows And Buttons to be Windows Classic
Style, then choose a colour scheme, it works.
But select Windows XP Style, and it stops working (as
you've seen yourself).
This is because XP used the Theme API to draw UI elements.
So a "DrawThemedButton" API function can add shiny 3D effects
and so on.
Unfortunately, I've not used the Theme API, so my help runs
out at this point. But at least you know where to look! And
there are several articles on Theming here on CP.
Iain.
|
|
|
|