|
Do you have the source code for the second application? Is it developed by you or is it third-party?
There is sufficient light for those who desire to see, and there is sufficient darkness for those of a contrary disposition.
Blaise Pascal
|
|
|
|
|
Yes. I've. It's developed by me.
|
|
|
|
|
Then why two applications? Merge the second app in the first.
There is sufficient light for those who desire to see, and there is sufficient darkness for those of a contrary disposition.
Blaise Pascal
|
|
|
|
|
How to merge the two applications? Shall I add the second project to the first project's solution?
|
|
|
|
|
I meant by adding the second project's source files to the first project.
There is sufficient light for those who desire to see, and there is sufficient darkness for those of a contrary disposition.
Blaise Pascal
|
|
|
|
|
Do you want to open other program after this line?
|
|
|
|
|
I didn't understand.
|
|
|
|
|
You used of this code on your program for run other program now what do you want to do?
|
|
|
|
|
The second application's window is opend separately if I used the following statement.
::ShellExecuteA(NULL, "open", path.c_str(), NULL, NULL, SW_NORMAL);
I want to open in the first application's window.
|
|
|
|
|
you need the code for both the application , then only you can avoid saperate window . But if you just don't want to show the other appplication then you can replace SW_NORMAL by SW_HIDE
Vikas Amin
My First Article on CP" Virtual Serial Port "[^]
modified on Thursday, July 24, 2008 5:33 PM
|
|
|
|
|
Hi,
I am using the function AppendChar but is is giving the error that
AppendChar' : is not a member of 'CString'
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE\afx.h(368) : see declaration of 'CString'.
Please help me.
Dhiraj Kumar Saini
|
|
|
|
|
I don't know what you are trying to do but there's no AppendChar function in the CString class (see here[^]). The error message was clear enough, don't you think ?
|
|
|
|
|
Possibly the CString class provided by your MFC installation hasn't such method, use the += operator [^] instead.
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
[Image resize DLL]
|
|
|
|
|
Hi,
I am using visual studio 6.0. If it is not defined in current mfc installation then which version should i use.
Thanks
Dhiraj
|
|
|
|
|
Dhiraj kumar Saini wrote: I am using visual studio 6.0. If it is not defined in current mfc installation then which version should i use.
I find simpler using the += operator, as suggested.
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
[Image resize DLL]
|
|
|
|
|
I'm using VS2005 and it's defined there.
Actually CString is now a typedef of the template CStringT , which inherits from CSimpleStringT . The AppendChar() function is a member of the CSimpleStringT template.
More info here[^].
"It's supposed to be hard, otherwise anybody could do it!" - selfquote "High speed never compensates for wrong direction!" - unknown
|
|
|
|
|
Couldn't find a function named - CString::AppendChar() in MSDN Documentation[^]. You can use operator += to append char to CString. For instance,
CString String = "Hell";
String += 'o';
Regards,
Jijo.
_____________________________________________________
http://weseetips.com[ ^] Visual C++ tips and tricks. Updated daily.
|
|
|
|
|
Hi all,
I am a newbie to NDIS driver programming. I have written a very basic and simple NDIS protocol driver which just prints a message for all incoming packets. (I've taken help from DDK's Passthru and Protocol driver examples).
The part where I am stuck is that my Protocol driver is registered with NDIS as BindAdapter, UnbindAdapter and PnPEvent Handlers are all getting invoked/called and working as per requirement. However neither ProtocolReceive() nor ProtocolReceivePacket() is getting invoked, even in case of heavy network traffic ( which I confirmed with use of Wireshark).
Please Help.
Thanks in Advance,
Numero Uno.
|
|
|
|
|
Hi all,
I have made a application in vc2005 in which i am selecting some files from folder and then displaying names of each file.I am opening dialog box using CFileDialog Class, i have set OFN_ALLOWMULTISELECT for the dialog box.....
Now my problem is for some folders when i select all the files and click on open it returns IDCANCEL or 2 as a return value and for some folders it return IDOK or 1 as return value.....
How can i remove this???
thanks in advance
|
|
|
|
|
VCProgrammer wrote: i have set OFN_ALLOWMULTISELECT for the dialog box.....
Now my problem is for some folders when i select all the files and click on open it returns IDCANCEL or 2 as a return value and for some folders it return IDOK or 1 as return value.....
Probably there is a buffer overflow hence file dialog returns IDCANCEL . Note that for this style you've got to provide a large enough buffer to retrieve all file names.
Probably an FNERR_BUFFERTOOSMALL error occurs. Call CommDlgExtendedError to check.
Nibu babu thomas
Microsoft MVP for VC++
Code must be written to be read, not by the compiler, but by another human being.
Programming Blog: http://nibuthomas.wordpress.com
|
|
|
|
|
In case of failure in Common Dialogbox Routines , MSDN recommends to call CommDlgExtendedError()[^] to know about the detailed error info. So please call the api and check, why its failing.
Regards,
Jijo.
_____________________________________________________
http://weseetips.com[ ^] Visual C++ tips and tricks. Updated daily.
|
|
|
|
|
Hello, this is a very simple program to test asynchronous device io.
But when this program runs on Vista, io is always asynchronous; when it is XP, io is always synchronous.
I don't know why? Does Vista's io more efficient than XP?
Thank you!
int _tmain(int argc, _TCHAR* argv[])
{
HANDLE g_hIOCP = ::CreateIoCompletionPort(INVALID_HANDLE_VALUE, NULL, 0, 0);
if (g_hIOCP == NULL)
{
cout<<"can not create io completion port"<<endl;
return 1;
}
HANDLE hFile = CreateFile(L"d:\\test.abc", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL);
if (hFile == NULL)
{
cout<<"can not open file"<<endl;
}
HANDLE hTest = ::CreateIoCompletionPort(hFile, g_hIOCP, (ULONG_PTR)hFile, 0);
if (hTest != g_hIOCP)
{
cout<<"failed to associate file to completion port"<<GetLastError()<<endl;
return 0;
}
for(int i = 0; i < 5; ++i)
{
OVERLAPPED ov = {0};
char szBuf[128];
DWORD lpNumberOfBytesRead = 0;
BOOL b = ::ReadFile(hFile, szBuf, 128, &lpNumberOfBytesRead, &ov);
if (b == FALSE)
{
cout<<"ReadFile failed,last error code is:"<<::GetLastError()<<endl;
if (::GetLastError() == ERROR_IO_PENDING)
{
cout<<"read file asynchronously"<<endl;
}
}
else
{
cout<<"read file synchronously"<<lpNumberOfBytesRead<<"bytes"<<endl;
}
}
return 0;
}
A Chinese VC++ programmer
|
|
|
|
|
I don't know why it is different in XP and Vista, but specifying the FILE_FLAG_OVERLAPPED flag in CreateFile() means that it is an asynchronous call; however, this article may be of use.
[Edit]
Apologies I didn't see your FLAG_FILE_OVERLAPPED remark in your code sample - the article may still be useful to you though
Regards,
--Perspx
"The Blue Screen of Death, also known as The Blue Screen of Doom, the "Blue Screen of Fun", "Phatul Exception: The WRECKening" and "Windows Vista", is a multi award-winning game first developed in 1995 by Microsoft" - Uncyclopedia
Introduction to Object-Oriented JavaScript
|
|
|
|
|
Thank you!
I'll read this article
A Chinese VC++ programmer
|
|
|
|
|
There is a MSKB on Asynchronous IO with details on Synchronous I/O occuring even when the file is opened using FILE_FLAG_OVERLAPPED attribute. See if this helps -
Asynchronous I/O Still Appears to be Synchronous[^]
Sohail
modified 21-Apr-21 21:01pm.
|
|
|
|