|
What is the cr value?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
COLORREF cr
maybe the cr is other color's RGB value.
but I call this functions,so it doesn't be other value,isn't it ?
dc.SetBkColor(RGB(255,255,255));
dc.SetTextColor(RGB(0,0,0));
|
|
|
|
|
Why don't you use the debugger to see what's cr value, at runtime?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
netstat -o -b returns all active connections with PID which is valuable for terminating those consuming network traffic as downloading some updates without user will.
However I've noticed once there is data download happen from internet and yet netstat returns no active connections.
Is there any other functionality that misses something?
Чесноков
|
|
|
|
|
As it is a system administration issue I suppose you'll get better help at the proper forum.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Hi all,
when i compile my program i get this error
C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\oleacc.h(53) : error C2872: 'IAccessible' : ambiguous symbol
could be 'C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\afxwin.h(1336) : IAccessible'
or 'e:\Program\debug\mso.tlh(2072) : Office::IAccessible'
How can i resolve this
Thanks in advance
|
|
|
|
|
I'm guessing you're automating MS-Office.
If so, use Office::IAccessible .
Otherwise use ::IAccessible .
|
|
|
|
|
this is because IAccessible is declared in both mso.tlh and afxwin.h.
If you want to use IAccessible from mso.tlh, use it as Office::IAccessible.
Or if you need to use IAccessible from afxwin.h, as it doesn't belongs to any namespace there, you have to modify the IAccessible from mso.tlh. You may use,
rename("IAccessible", "msoIAccessible") soon after the #import "....\mso.tlh" statement.
|
|
|
|
|
Hello everybody,
First, thanks in advance to reply my question.
I have (2) threads in my program (MFC) and when I run my program, all operations which I purposed work fine. But the problem is GUI is blocked up, means I cannot click any buttons in the Dialog Box.
Please help if anybody familiar with this issue.
Any helps are appreciated!
BS Mashhur!
|
|
|
|
|
if you're doing work in the main thread and not allowing windows messages to be processed then yes it will lock up and you won't be able to interact with the GUI.
one way to avoid that is to do all your work in the second worker thread and just use the main thread to respond to user inputs and update the UI.
another option is to, while you're doing whatever work you're doing, periodically call the below function.
void RunMessagePump()
{
MSG m;
while (PeekMessage(&m,PM_REMOVE))
{
TranslateMessage(&m);
DispatchMessage(&m);
}
}
So if you're in a tight loop and you call this often your app will remain responsive. The thing to watch out for there though is re-entrance, i.e. the user clicking a button, then while the operation is taking place clicking it again.
|
|
|
|
|
Dear Dave thanks to your answer.
Let me please explain deeper about threads I used in my prog.
1. First, I created a server socket and bind it to a port. All work fine, and then here, thread (hThread1) is created in order to listen coming connection requests from peers. Logically, the thread (hThread1) shouldn't disturb to GUI threads running by default right? But not so, GUI is locked up.
After accepting the client socket, I created another thread (hThread2) for message exchanging process and hThread1 goes to listen port on.
Any ideas?
2. Could you please explain your void RunMessagePump() function in detail?
3. If you have ever used WSAAsyncselect(), could you please tell me how to run it?
Thanks a lot! Sorry I am new at such programming and it is taking a pretty enough time (including your time).
|
|
|
|
|
Hey guys,
I found a solution for my post that I should use asynchronous socket instead. So, could you please send some codes written in MFC for asynchronous socket connection?
What is difficult for me now is how to use the WSAAsyncselect(SOCKET, HWND, UINT, long lEvent) function.
Any help greatly appreciated!
|
|
|
|
|
If you're using MFC, why don't you use the CAsyncSocket[^] class?
|
|
|
|
|
Hi!
I work under Visual C++ 2008 and use the libusb driver and library for windows to communicate with a self-build camera device. The acquired images are transfered via usb bulk transfer and I can collect the data from the endpoint by calling usb_bulk_tranfer function of the libusb library. The transfer rate of the image data is about 12MB per second. Unfortunately, some data gets lost periodically every few milliseconds, probably caused by usb interrupts or something else which has a higher priority. Is there a way to ensure the bulk tranfer by disabling other tranfers or events while images are tranfered via bulk?
Any help is greatly appreciated.
|
|
|
|
|
USB gives least priority to bulk endpoints.
But there should not be any data loss.
Please post some relevant code.
|
|
|
|
|
Hi all, I am writing a console application that now plays .mp3 and PCM wav files. Now I want the application to also read .cdfs audio but I don't know where start. Any detailed tutorials and descriptions will do. I can do it in either C or C++. Thanks.
|
|
|
|
|
Have you tried ffmpeg? Its an open source project with LPGP license. I haven't heard about cdfs, but there's a good chance it's supported.
There is sufficient light for those who desire to see, and there is sufficient darkness for those of a contrary disposition.
Blaise Pascal
|
|
|
|
|
Hello,
I run EnumProcesses(), to find if the progam "NurOper.exe" is running I debuged it and although "NurOper.exe" is running its don't return it,
its return all ather programs include my program- "nurman.exe" what can be the resone for it ,I must know if the progam "NurOper.exe" is running in order not to run it twice,
thank for advance .
the code is:
bool IsRunning=false;
int num=0;
DWORD aProcesses[1024], cbNeeded, cProcesses;
ULONG lCpuusage = 0;
UINT index;
double percent;
if ( !EnumProcesses( aProcesses, sizeof(aProcesses),&cbNeeded ) )
return false;
// Calculate how many process identifiers were returned.
cProcesses = cbNeeded / sizeof(DWORD);
CString str;
for (int i = 0; i < cProcesses; i++ )
if( aProcesses[i] != 0 )
{
TCHAR szProcessName[MAX_PATH] = TEXT("<unknown>");
// Get a handle to the process.
HANDLE hProcess = OpenProcess( PROCESS_QUERY_INFORMATION |
PROCESS_VM_READ,
FALSE,aProcesses[i] );
// Get the process name.
if (NULL != hProcess )
{
HMODULE hMod;
DWORD cbNeeded;
if ( EnumProcessModules( hProcess, &hMod,sizeofhMod),&cbNeeded))
{
GetModuleBaseName( hProcess, hMod, szProcessName,
sizeof(szProcessName)/sizeof(TCHAR) );
}
}
str=(CString)szProcessName;
// Print the process name and identifier.
if(str.Compare(L"nurman.exe")==0 )
if(num==0)
num=1;
else if(num==1)
exit(1);
if(str.Compare(L"NurOper.exe")==0 )
IsRunning=true;
CloseHandle( hProcess );
}
if(!IsRunning)
_beginthread(runExe, 0, (void*)12 );
|
|
|
|
|
|
Why do you think, it was "not returned" ?
virtual void BeHappy() = 0;
|
|
|
|
|
I saved the names of all processes, I debuged it and the names of all ather processes besides "NurOper.exe" were on the array .
|
|
|
|
|
...and "nUrOpEr.exe" - as well ?
I would perform it by the combination of
- Process32First : EXE name stage, and
- Module32First : EXE directory stage
Please see the following example :
bool GetPathFromPID(DWORD dwPID, CString& cszFullName)
{
bool bResult = false;
cszFullName.Empty();
HANDLE hToolHelp = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, dwPID);
if (INVALID_HANDLE_VALUE != hToolHelp) {
MODULEENTRY32 ModuleEntry32;
ModuleEntry32.dwSize = sizeof(MODULEENTRY32);
if (Module32First(hToolHelp, &ModuleEntry32)) {
do {
CString cszModule(ModuleEntry32.szModule);
CString cszExePath(ModuleEntry32.szExePath);
if (0 == cszExePath.Right(cszModule.GetLength()).CompareNoCase(cszModule)) {
cszFullName = cszExePath;
bResult = true;
break;
}
} while (Module32Next(hToolHelp, &ModuleEntry32));
}
CloseHandle(hToolHelp);
}
return bResult;
}
bool GetRunningProcesses(const CString& csDir,
CStringArray& arrProcesse,
CDWordArray& arrProcessID,
DWORD* pdwFoundCount)
{
arrProcesse.RemoveAll();
arrProcessID.RemoveAll();
if (pdwFoundCount) {
*pdwFoundCount = 0;
}
HANDLE hToolHelp = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hToolHelp == INVALID_HANDLE_VALUE) {
return false;
}
PROCESSENTRY32 ProcessEntry32;
ProcessEntry32.dwSize = sizeof(PROCESSENTRY32);
CString cszOurDir(csDir);
cszOurDir.MakeUpper();
if (Process32First(hToolHelp, &ProcessEntry32)) {
do {
if (ProcessEntry32.th32ProcessID) {
CString cszExePath;
if (GetPathFromPID(ProcessEntry32.th32ProcessID, cszExePath)) {
cszExePath.MakeUpper();
if (-1 != cszExePath.Find(cszOurDir)) {
arrProcesse.Add(ProcessEntry32.szExeFile);
arrProcessID.Add(ProcessEntry32.th32ProcessID);
}
}
}
} while (Process32Next(hToolHelp, &ProcessEntry32));
}
CloseHandle(hToolHelp);
if (pdwFoundCount) {
*pdwFoundCount = arrProcessID.GetCount();
}
return true;
}
PS: an administrator only can see the all processes by this code,
other users can see the own (their) processes only...
virtual void BeHappy() = 0;
modified on Monday, September 6, 2010 4:58 AM
|
|
|
|
|
First,thank you for yours helpfull answer,
I would like to ask you how can I have an access to the name of each procces, i.e I need to chack whether certain program is active.
thanks again
|
|
|
|
|
Please see the usage of the field ProcessEntry32.szExeFile in the second function above
virtual void BeHappy() = 0;
|
|
|
|
|
Just a thought, but have you looked at Process32First() and related functions?
|
|
|
|