question
Carl S CULLUM 3-1524 -- CULLUM.CARL@SMA1.MCCLELLAN.AF.MIL Thursday, December 05, 1996 Environment: VC++ 1.52 or 4.1, Windows 95 Q: Is there an easy/convenient/abysmally difficult way to retrieve the hardware address of an installed ethernet card on a PC? thanks.
Grant Shirreffs Great Elk -- Grant.S@greatelk.com Monday, December 09, 1996 [Mini-digest: 3 responses] It's in the MSVC documentation. Search for Q118623. >---------- >From: Carl S CULLUM 3-1524 >Sent: Friday, 06 December 1996 7:49 AM >To: mfc-l@netcom.com >Subject: question > > Environment: VC++ 1.52 or 4.1, Windows 95 > > > Q: Is there an easy/convenient/abysmally difficult way to retrieve >the > hardware address of an installed ethernet card on a PC? > > thanks. > > -----From: Mike BlaszczakAt 10:49 12/5/96 -0800, Carl S CULLUM 3-1524 wrote: > Environment: VC++ 1.52 or 4.1, Windows 95 > Q: Is there an easy/convenient/abysmally difficult way to retrieve the > hardware address of an installed ethernet card on a PC? If NETBIOS is installed, you can issue a call to the Netbios() API in either Win16 or Win32. You'll need to get an NCB that requests the adapter status for the adapter you want--part of the returned ADAPTER_STATUS structure will tell you the physical address of the card. The big catch here is that there might be many adapters on the system. .B ekiM http://www.nwlink.com/~mikeblas/ I'm afraid I've become some sort of speed freak. These words are my own. I do not speak on behalf of Microsoft. -----From: Jason Dale Woodward Environment: VC++ 4.0, Win95 Hello all- I'm having some difficulty working with PostThreadMessage(). I have a bit of code I've added to an AppWizard generated SDI application: CWinThread *newThread; CRuntimeClass *cls = RUNTIME_CLASS(CTestThread); newThread = AfxBeginThread(cls); TRACE0("Sending a message...\n"); TRACE1("Returned: %d\n", PostThreadMessage(newThread->m_nThreadID,WM_COMMAND, (WPARAM) ID_JDW_MSG,0)); Which I believe places the WM_COMMAND message into the new thread's message queue. Now, I have a handler set up in CTestThread's message map: class CTestThread : public CWinThread { ..... protected: afx_msg void OnJdwMsg(void); .... }; BEGIN_MESSAGE_MAP(CTestThread, CWinThread) ON_COMMAND( ID_JDW_MSG, OnJdwMsg ) END_MESSAGE_MAP() void CTestThread::OnJdwMsg() { ofstream foo("c:\foobar.foo",ios::out); int i = 0; while (i < 20) { foo << "Test: " << i++ << endl; } foo.close(); AfxEndThread(0); } Now, the call to PostThreadMessage supposedly sucessfully sends the message because it returns 1 (TRUE). However, my handler never gets executed (no file on disk, no 'The thread 0xFFF3388D has exited with code 0' in the debug window). My question is this: Am I missing something about how messages are passed down through handlers once the message loop gets a hold of it? (i.e. is my message never actually getting to CTestThread's message handler, and is getting caught and discarded in it's parent class?) Thanks for your time. -- Jason Dale Woodward Computer Science Undergrad, Cornell University Univ Park Apts C204 jdw5@cornell.edu jdw@cs.cornell.edu Ithaca, NY 14850
| Вернуться в корень Архива |