|
#ifdef UNICODE
char* pchTest("test");
CString cszTest(pchTest);
ASSERT(cszTest == _T("test"));
#endif
You will not see any popup window hier Check your definition of Irrationality[ ^]
1 - Avicenna
5 - Hubbard
3 - Own definition
|
|
|
|
|
Thanks.
I have no choice over how cCoffee is declared, and I have to use CString not CStringA, so I tried the MultiByteToWideChar option, but I still get error C2664.
|
|
|
|
|
Please post the relevant code.
|
|
|
|
|
MultiByteToWideChar(CP_UTF8, 0, cCoffee, -1, &strString1, 0);
|
|
|
|
|
strStrings1 has to be of type wchar_t and the last parameter has to be specified.
wchar_t strString1[MAX_PATH];
MultiByteToWideChar(CP_UTF8, 0, cCoffee, -1, strString1, MAX_PATH);
|
|
|
|
|
Ah, I see, thanks for the help.
|
|
|
|
|
|
Thanks.
Iain Clarke, Warrior Programmer wrote: Big hint, which you've already had: later versions of VS default to unicode, so CString uses that.
I just assumed my VS uses Unicode because it speaks Japanese.
Never mind, at least I'll know where to look the next time I get stuck on strings.
|
|
|
|
|
Hi,
I would like to call my home page from VC++ (thru default browser).For example, user clicks on a button, so internet explorer will be open to show some web pages.
Can anybody help me ?
|
|
|
|
|
You can use the ShellExecute[^] function to open a page in the browser. txtspeak is the realm of 9 year old children, not developers. Christian Graus
|
|
|
|
|
you can reference this code :
int OpenGG()
{
PROCESS_INFORMATION pi;
STARTUPINFO si;
BOOL bRet;
ZeroMemory(&pi,sizeof(PROCESS_INFORMATION));
ZeroMemory(&pi,sizeof(PROCESS_INFORMATION));
ZeroMemory(&si,sizeof(STARTUPINFO));
ZeroMemory(&si,sizeof(STARTUPINFO));
si.cb = sizeof(STARTUPINFO);
si.lpReserved = NULL;
si.lpDesktop = NULL;
si.lpTitle = NULL;
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_SHOWMAXIMIZED;
si.cbReserved2 = NULL;
si.lpReserved2 = NULL;
CString strUrl = "C:\\Program Files\\Internet Explorer\\IEXPLORE.exe http://www.google.cn";
bRet = CreateProcess(NULL,(LPTSTR)(LPCTSTR)strUrl,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi);
return bRet;
}
there leave a blank space between the "IEXPLORE.exe" and "http://...".
Good Luck !
|
|
|
|
|
This opens IE, which may not be the default browser. You should use ShellExecute() instead."One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
|
In addition to other's criticisms this assumes that that the browser is installed at a specific location. There's no guarantee this is true, in fact it is not even unusual. This is bad code. Steve
|
|
|
|
|
Hello,
thankyou, but I dont know what type of browser are installed on user system.
I would like to write a function only with one argument such as this:
CallMayHomePage("www.myhomepage.com")
Best Regards
Behzad Saffarian
|
|
|
|
|
ShellExecute() has been suggested to you twice. Have you tried it? "One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
other way,you can see:
int OpenUrl(CString strUrl)
{
CString strCmdLine = "explorer.exe " + strUrl;
LPTSTR lpCmd = (LPTSTR)(LPCTSTR)strCmdLine;
STARTUPINFO si = {sizeof(si)};
PROCESS_INFORMATION pi;
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = 1;
BOOL bRet = CreateProcess(NULL,
lpCmd,
NULL,
NULL,
FALSE,
CREATE_NEW_CONSOLE,
NULL,
NULL,
&si,
&pi);
if(bRet)
{
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
}
return bRet;
}
void CUrlDlg::OnBtnTest()
{
OpenUrl("http://www.baidu.com");
}
but I propose that you must adopted DavidCrow' plan..
|
|
|
|
|
This is a bizarre approach. A better way is shown here[^]. In short:
LONG r = ShellExecute(NULL, "open", "http://www.microsoft.com", NULL, NULL, SW_SHOWNORMAL); Steve
|
|
|
|
|
|
Please read complete text before making recommendations.
I am trying to understand the methods used in serial communication. I have read plenty of serial classes descriptions and sample code lines and have a general understanding of the process.
What got me puzzled is usage of OVERLLAPED structure and MSDN API conflicting help in description of ReadFile which states that “overlapped is not supported”. However, the SDK help for same function is using the OVERLLAPED structure.
I think the terminology usage of “OVERLLAPED” ' is unfortunate.
In my definition – overlapped means physically overlapping something – plain windows for example, on desktop.
I can see multiple access to a file as sort of overlapping.
However, I just cannot see how Windows OS can handle multiple, hence overlapped , access to same COM port.
I am not looking for a code or serial library.
I just need some clarification on the “overlapped COM usage “.
Thanks for reading and as always any constructive help is appreciated.
Cheers
Vaclav
-- Modified Monday, March 1, 2010 1:16 PM
|
|
|
|
|
Have you read "Synchronization and Overlapped Input and Output"?
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]
|
|
|
|
|
Thank you very much. I just scanned it ( the article) and it it exactly what I need to get better grip on the comm processing.
This is just preliminary - it may be a real stupid question now - does it mean that the asynchronous Read / Write uses its own thread?
For learning I just "build" the COM parameters(baud rate etc) in main thread an then do Read / Write in another MFC thread. On first look it seems redundant. But I'll hopefully know more after I read the article more thoroughly.
|
|
|
|
|
1/ overlapped, not overllaped.
2/ Carlo already corrected your understanding of that word - your understanding was fine from "english", but not from "win32".
3/ Read the following essay on serial programming:
http://www.flounder.com/serial.htm[^] - it's well written, and will save you from some bad mistakes.
Good luck,
Iain.I have now moved to Sweden for love (awwww).
|
|
|
|
|
Iain, thanks a bunch for a good article link.
I am little confused by the introduction which states that using various "wait" for events is not the best way. I am beginning to see the pivotal role of the OVERLAPPED structure. ( I am not the gretest speller and rely on the compiler ot kick me for that!!).
But I do agree with the statement that most serial code in use by various authors is convoluted!
I personally think it is because most of them concentrate on code and miss the hardware requirements of the serial communication.
Thanks again. Have a great day.
Vaclav
PS Had enough of snow and waiting for spring?? I am tired of freezing in "hot" Texas.
|
|
|
|
|
Hi everyone,
I have a trading system that consits of several applications (all in C++) working together.
In a nutshell, application A sends data to apps. B, C, D .. etc. Those apps process the data and tell application Z to send orders to the market.
All the inter-application communication is achieved using MSMQ messages.
Up to now I'm glad with the whole system speed, but I wonder ether there exists a better alternative to MSMQ messaging.
I read something about RCF (Remote Call Framework), but i'm a bit lost, because I really do not know what other options I have and what are their advantages.
Any advice?
Thank you.
|
|
|
|