home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 2000 April
/
PCWorld_2000-04_cd.bin
/
Software
/
Servis
/
Devc
/
_SETUP.6
/
Group16
/
loadexe.c
< prev
next >
Wrap
C/C++ Source or Header
|
1998-02-25
|
1KB
|
48 lines
/*
* This program attempts to load expexe.exe dynamically, get the address of the
* ExportedFromExe function, and then call it.
*
* This example DOES NOT WORK! I don't know exactly what can be done, but
* it simply seems that LoadLibrary refuses to load executables.
*/
#include <stdio.h>
#include <windows.h>
int (*ExportedFromExe)();
int main()
{
HINSTANCE hDll;
int i, j, k;
hDll = LoadLibrary ("expexe.exe");
if (!hDll)
{
printf ("Error %d loading exe.\n", GetLastError());
exit (-1);
}
if (!(ExportedFromExe = GetProcAddress (hDll, "ExportedFromExe")))
{
printf ("Error %d getting ExportedFromExe function.\n",
GetLastError());
exit (-1);
}
else
{
ExportedFromExe ();
}
/* NOTE: Unlike a DLL the exe doesn't have an entry point which
* initializes global objects and adds __do_global_dtors to
* the atexit list. Thus it should be safe(?) to free the
* library. Of course, this also makes it unsafe to use
* executables at all in this manner.
*/
FreeLibrary (hDll);
return 0;
}