|
Hi world!
My question is very simple:
How to know the windows langage installed on a PC?
I use MFC71 with Visual Studio.NET
Thanks very much for all advice
Hello World!!!
from Raphaël
|
|
|
|
|
there are no real languages installed on a PC.
you install an IDE, which allow you to program with one or one language. then, when you compile the code, it is turned into native language (for the microprocessor) or into an intermediate language like MSIL (for .NET framework) or Byte-Code (for Java Virtual Machine).
all depends on the development environement you're working on, and how it is installed.
for example with Visual Studio .NET 2003, it provides the MFC 7.1 only if you install Visual C++...
TOXCCT >>> GEII power [toxcct][VisualCalc 2.20][VCalc 3.0 soon...]
|
|
|
|
|
Maybe he was speaking about languages like french, english, ...
|
|
|
|
|
|
|
How do you get share level permissions. Not ntfs level permissions.
I tried NetShareEnum but it returns ACCESS_NONE for all shares may be because i am running the program on an NT level machine
Kelvin Chikomo
|
|
|
|
|
Hi
I have a ICopyHook extension DLL. But this DLL is coming to effect only when i restart my explorer i.e, by lkilling the explorer.exe. If i register the DLL, i will have to kill the explorer.exe to make it work. Is there any way by which i can make the DLL work wihtout restarting the explorer.
|
|
|
|
|
Does this article help?
"The words of God are not like the oak leaf which dies and falls to the earth, but like the pine tree which stays green forever." - Native American Proverb
|
|
|
|
|
Thanks. But i know how to implement a ICopyHook. Butmy problem is how to make it effective from the point I perform the registration.
|
|
|
|
|
ragavan wrote: Butmy problem is how to make it effective from the point I perform the registration.
Have you modified the registry?
"The words of God are not like the oak leaf which dies and falls to the earth, but like the pine tree which stays green forever." - Native American Proverb
|
|
|
|
|
|
I create a mfc regular dll and run the AfxBeginThread function in it.
As soon as I run this function ,there is a error .
Why?
|
|
|
|
|
Can you post your code ? It surely comes from how you are calling it.
~RaGE();
|
|
|
|
|
void CYiCltDllApp::Start()
{
m_proxyServer.bRun = TRUE;
m_proxyServer.m_Info.hWnd = m_hWnd;
m_proxyServer.m_Info.nPort = m_nPort; // local
m_proxyServer.m_sitebase =m_sitebase;
m_proxyServer.m_IpAddress =m_IpAddress;
m_proxyServer.m_BufferRoot =m_RecvBuffer;
if(m_hWnd!=NULL)
{
AfxBeginThread(StartThread, (LPVOID)&m_proxyServer, THREAD_PRIORITY_BELOW_NORMAL);
}
}
|
|
|
|
|
After debug in StartThread function by set break point, I found that the program do not step into the StartThread function.
|
|
|
|
|
Is StartThread declared as static ?
~RaGE();
|
|
|
|
|
not static.
At first,I set it as a member of CYiCltDllApp.
Then set it as a independent function.
|
|
|
|
|
Then try and define it static. You will have to pass the this pointer as a parameter to get hold on your data.
~RaGE();
|
|
|
|
|
What is returned by AfxBeginThread ?
Does it help to set the priority to THREAD_PRIORITY_NORMAL ?
~RaGE();
|
|
|
|
|
the return of AfxBeginThread is not null.
|
|
|
|
|
If it is not null, then the thread was created (AfxBeginThread returns a CWinThread object).
~RaGE();
|
|
|
|
|
Thank you very much!
Set static function is ok.
|
|
|
|
|
I have a window which contains a menu, two large edit boxes filling the whole space underneath, and nothing else. No caption / title bar.
To allow dragging the window, the area to the right of the menu can be used instead of the caption area. All works fine, but I would like to draw something on this area to indicate that it is an area on which the user can click to drag the window.
So my question is, how do I draw in the menu area? Not on an actual menu item, but in the empty space to the right?
I tried this in OnPaint and no luck, I tried OnNcPaint. I thought I could just detect some flicker from my drawing when I resized the window, and the window border at the far right did have something drawn on it, but too low down, below the menu.
Is what I am trying to do possible without creating my own menu and menu handler?
Shraddhan
|
|
|
|
|
Is this a Dialog or a SDI/MDI child window ?
Maybe try in OnEraseBackground .
As for "too low down", do not forget to convert screen coordinate in client coordinate and reverse. (see ScreenToClient and ClientToScreen functions).
~RaGE();
|
|
|
|
|
Rage wrote: Is this a Dialog or a SDI/MDI child window ?
Actually it is a CWnd which is behaving like a CDialog. (It used to be a CDialog, and for some unpsecified "good reasons" I noted in my comments long ago, it was converted to a CWnd.)
As for the actual drawing coordinates, I used the following code in OnNcPaint:
CPaintDC dc(this); // device context for painting
dc.Rectangle(100, 1, 700, 3);
dc.Rectangle(100, 5, 700, 7);
dc.Rectangle(100, 10, 700, 12);
dc.Rectangle(100, 15, 700, 17);
RECT rect = {50, 0, 700, 20};
dc.DrawText("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", 45, &rect, 0);
CWnd::OnNcPaint();
Commenting out the final line gave me a transparent header, though the menus still showed. The window varies from about 300 to 550 pixels wide.
The string of XXXXXXXXXX seemed to be drawn and rapidly covered over.
I thought that OnEraseBackground only handled the client area? Anyway, I tried it out, still did not paint to the right of the menu area.
Shraddhan
|
|
|
|