|
Ya I got it. Thanks steve.
~ Selva
|
|
|
|
|
I want to get the following system information on a MessageBox in my VC++ (.exe) project.
1) Hard Disk : Serial No. and Manufacturer Name.
2) Motherboard : Serial No. and Manufacturer Name.
bijumon mathew
kattappana
|
|
|
|
|
|
bijumon Mathew wrote: 1) Hard Disk : Serial No. and Manufacturer Name.
Try here.
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
Hi,
i have two view CMyViewOne,CMyViewTwo both derived from CBaseView and CBaseView is derived from CView.I have a function named "OnComplete" in CMyViewOne,in this function i want to send a Message to CMyViewTwo,by using SendMessage function.How to do it..? Like i want to establish a communication between both the views..
Thanks in before.
James
|
|
|
|
|
In document-view architectures views don't directly communicate; all communication occurs via the document. If view 1 needs to “talk” to view 2 then view 1 should update the document and the document will notify all applicable views, in this case view 2.
Steve
|
|
|
|
|
Thanks for the reply,Can you be more clear ,please. Like how to send the event to document,from there to respective view
|
|
|
|
|
I assume you're using MFC. From a view can can get access to its document via the GetDocument function the wizard generates for you in the view class. Your document class should provide functions to modify the state of the document. The function CDocument::UpdateAllViews on the document is used by the code in the document (or view) to inform all views (the pSender parameter can be used to exclude the sending view if required) of a change in the state of the document.
Steve
|
|
|
|
|
Hi,
I want to use a MFC checkbox (button style) with Bitmap displayed on it (or even better with a Bitmap and Text at the same time). In the Resource Editor I've set Bitmap to true for my button (.NET 2005). In OnInitDialog I've then tried m_myCeckBox.SetBitmap(::LoadBitmap(NULL, MAKEINTRESOURCE(IDB_BITMAP_Play))); . When I run my application only an empty button is shown. Can anybody give me a hint?
Thanks,
Frank.
|
|
|
|
|
|
I am currently having a problem debugging with some legacy VS c++ code that uses a .Net 1.1 dll and reg free com.
The c++ code is able to run and make calls to the .net assembly with reg free com (side by side assemblies). The problem is debugging in VS 6. The debugger stops at the first call to the .net code. If I disable the manifests and regasm /codebase my dll I am able to debug with no problem. Has anyone had any experience with this before. We would like to keep using the manifests and side by side while debugging to avoid confusing the other developers.
|
|
|
|
|
|
Are you behind a firewall?
led mike
|
|
|
|
|
|
What does WSAaGetLastError report?
led mike
|
|
|
|
|
inet_addr() expects a dotted IP address. Is that what your getAddr() func returns?
If not, maybe you can use getaddrinfo() to resolve the name (google.com) to an address.
Mark
|
|
|
|
|
|
But what is the string value? An IP address "xxx.xxx.xxx.xxx" or a name "google.com"?
Mark
|
|
|
|
|
|
That won't work. You need to resolve google.com to an ip address (DNS works )
getaddrinfo() will use DNS if you have it configured (if you can post here I imagine you do)
Here's some sample code ripped right from MSDN...
char* ip = "google.com";
char* port = "80";
struct addrinfo aiHints;
struct addrinfo *aiList = NULL;
int retVal;
memset(&aiHints, 0, sizeof(aiHints));
aiHints.ai_family = AF_INET;
aiHints.ai_socktype = SOCK_STREAM;
aiHints.ai_protocol = IPPROTO_TCP;
if ((retVal = getaddrinfo(ip, port, &aiHints, &aiList)) != 0)
{
printf("getaddrinfo() failed.\n");
}
else
{
printf("getaddrinfo() succeeded.\n");
} On success, aiList will have all the info you need to make a connection.
Mark
|
|
|
|
|
|
Anywhere before you call connect(), in place of the code you posted that builds the address
(my_addr).
Where I used
char* ip = "google.com";
you can use your getAddr()
Where I used
char* port = "80";
you can either convert your returned getPort() to a string or use the service name instead
char* port = "http";
|
|
|
|
|
A deprecated solution...
sockaddr_in my_addr;
memset(&my_addr, 0, sizeof(sockaddr_in));
...
HOSTENT *pHostent = ::gethostbyname(getAddr( ));
if (pHostent && pHostent->h_addrtype == AF_INET)
{
my_addr.sin_family = AF_INET;
my_addr.sin_port = htons( getPort( ) );
my_addr.sin_addr = *(in_addr *)(pHostent->h_addr_list[0]);
if ( connect( hSocket, ( const struct sockaddr* ) &my_addr, sizeof( my_addr ) ) == SOCKET_ERROR )
{
return( false );
}
}
else
{
return( false );
}
|
|
|
|
|
|