|
Thanks for your replies. If I use the WinObj tool and select Device in the tree structure to the left, I am able to detect one entry which disappears when I unplug my USB-printer and appears when I connect it. However, the strange thing is that its name is not fixed. At first it was 000000C0, then after unpluggang and plugging it in again it was 000000C1, then 000000C2, etc. Thus, it appears to be incrementing each time I unplug and plug it in and if I use the current value as the first parameter to the call to CreateFile I get an error (GetLastError gives me error code 2). Is there any hope that I will be able to get this work?
|
|
|
|
|
|
Have a C++ routine, need to get the current month value, any ideas? Sid Kraft
Sid
|
|
|
|
|
|
There are plenty of date-related functions available for which you can obtain the month. For example, localtime(), time(), gmtime().
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Hi,
I have to restrict mouse clicks on the activex controls of
Windows media player or else say I want to allow only Menu Commands ,Maximise ,Minimise and Close messages to
the application.
For this I have used hooking to trap the windows messages
sent to the WMP application.
I hooked my procedure in to that WMP application and now I
can receive all messages before there are passed to window
procedure of the actual application.
I used the following code in my application to hook my procedure in to another appln.
HOOKPROC dllmsgFunction = (HOOKPROC)::GetProcAddress(m_HookDll, "MyMessageHook");
m_mymsgHook = SetWindowsHookEx(WH_CALLWNDPROC,dllmsgFunction,m_HookDll,dwThreadId);
"MyMessageHook" function is in a seperated Dll.
LRESULT CALLBACK MyMessageHook(int nCode, WPARAM wParam, LPARAM lParam)
{
CWPSTRUCT* msg = (CWPSTRUCT*)lParam;
return ::CallNextHookEx(sg_hHook, nCode, wParam, lParam);
}
If I restrict WM_LBUTTONDOWN message , clicks on Menu bar and the complete application are also disabled
as for every mouse click there will be OnLbuttonDown.So, Iam unable to figure out the messages to restrict.
I need an approach to do this. Any suggestions or links would be helpful.
Thanks
Satya
Today is a gift, that's why it is called the present.
|
|
|
|
|
In lParam of mouse messages are also the coordinates included (packed)...
Greetings from Germany
|
|
|
|
|
Hi Friends,
My windows service spawns one child process.
While stopping this service my child process does not gets killed/
terminated as expected.
I do not have child process handle as this child process is created
by a third party library in my process.
Is there any good way to kill this child process?
I want to avoid process enumerations !
|
|
|
|
|
vikrams wrote: While stopping this service my child process does not gets killed/
terminated as expected.
Why would you expect it to happen?
Anyway, you can get the handle of the child process by using EnumProcesses
|
|
|
|
|
I am aware of that. But need more elegant solution.
|
|
|
|
|
I am looking for a way to correctly sort CStrings under Unicode.
Input:
Zéro
Ça
Cabane
Ouptut I get:
Cabane
Zéro
Ça
Output should be:
Cabane
Ça
Zéro
I have seen articles on the Unicode Collation Algorithm - Unicode Technical Standard #10, but how can I implement correct sorting with existing tools in Microsoft C++ MFC in a Unicode project? CompareNoCase and CollateNoCase do not give the expected correct result.
__________________
Peter M.C. Werner
Siscad SA
Route de l'Etraz 2
1183 Bursins, Switzerland
www.cadelec.com
|
|
|
|
|
Are the CString sorting functions as Compare() buggy ???
Greetings from Germany
|
|
|
|
|
Whether you call it a bug is open to interpretation. I would indeed call it a bug, as they do not yield the results we should expect.
|
|
|
|
|
Each language has its own collection rules, just look at phonebooks for different countries or entries in a (book) dictionary. The machine sorting provided by the MFC functions is useless for human readers of languages other than English. The whole point about Unicode is its adaptability to different languages, but evidently Microsoft has not implemented the unicode collection rules.
|
|
|
|
|
It would surprise me if CString was implementing Unicode Technical Standard #10 - remember, it is just a template CStringT that gets specialized for char or wchar_t.
Can you use ICU[^]? It should have the functionallity you are looking for.
|
|
|
|
|
Thank you for the link. String comparison in the ICU Collation Demo works as I would expect. Questions:
- At first sight, ICU seems to be a Java tool
- How to implement their collation engine into a MFC C++ application. Has anybody got some hands-on experience?
|
|
|
|
|
petermcwerner wrote: - At first sight, ICU seems to be a Java tool
There is a C version, and a C++ one as well - see here[^]. Frankly, it is not the most elegant C++ code I have ever seen, but you can always wrap it into something better.
petermcwerner wrote: How to implement their collation engine into a MFC C++ application.
Here[^] is a sample.
|
|
|
|
|
Thank you Nemanja, I am going to study the links you provided.
Has somebody already implemented an MFC version so that I do not have to re-invent the wheel?
|
|
|
|
|
How are you currently sorting them?
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
|
So have you stepped into the CSortableStringArray::Compare() method to see how it is comparing Ça and Zéro (e.g., returning -1 when it should be returning 1)?
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
I have not gone into it, as it clearly does not do the job, not only in the small example I showed, but on larger data sets. From the results I would think that it works like this:
Z = U+005A
Ç = U+00C7
Thus Ç > Z
This is a purely machine sorting, what I need is a lexical sorting. The ICU Collator seems to work correctly, it seems the way to go. What I am looking for now is for some tips and/or example on how to implement it in MFC. If somebody has already done the job I would be glad for a complete example in order not to re-invent the wheel.
|
|
|
|
|
CollateNoCase calls (through the traits object in MFC 7.0 and later) _wcsicoll for a Unicode project. That uses the C locale set with setlocale. My understanding is that this defaults to the "C" locale, rather than the user's currently selected locale.
As far as I know, no Microsoft product truly implements the Unicode Collation Algorithm. Instead they are compatible with their own previous implementations, which ultimately predate UTS #10. It may be better to be compatible with other applications on the system, however.
DoEvents : Generating unexpected recursion since 1991
|
|
|
|
|
My first try using a Modeless dialog.
Say a pointer called m_pModelessDlg is used and after I allocate memory and construct this dialog,
I call
m_pModelessDlg->Create(ModelessDlg::IDD, this);
m_pModelessDlg->ShowWindow(SW_SHOW);
The blank dialog is displayed but all other controls on the dialog are not. Shouldn't all resources of that dialog be collected and constructed when Create is called?
I also tried to use DoModal to create a modal dialog using the same resources and everything was fine then.
Thanks in advance.
_Pinux_
Toe the line
Thread the needle
Think outside of the box
|
|
|
|
|