summaryrefslogtreecommitdiff
path: root/PE/pepatch.cpp
diff options
context:
space:
mode:
authorpixel <pixel>2004-01-22 22:44:43 +0000
committerpixel <pixel>2004-01-22 22:44:43 +0000
commit7e96e72218e40a2fc3c49294d5156eb0e05b8e94 (patch)
treece34db6414fc5528b3b2e51e02502a68f8808fac /PE/pepatch.cpp
parent1badb6d6759b1836b8f4c6435693433b4f8d285c (diff)
Having a cute patching system now
Diffstat (limited to 'PE/pepatch.cpp')
-rw-r--r--PE/pepatch.cpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/PE/pepatch.cpp b/PE/pepatch.cpp
index be67faf..80e6154 100644
--- a/PE/pepatch.cpp
+++ b/PE/pepatch.cpp
@@ -1,7 +1,51 @@
+#include <Output.h>
#include <Main.h>
+#include "pepatch-res.h"
+
+BOOL CALLBACK AboutDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam) {
+ Base::printm(M_STATUS, "AboutDlgProc: uMsg = %i (0x%x)\n", uMsg, uMsg);
+ switch (uMsg) {
+ case WM_COMMAND:
+ switch (LOWORD(wParam)) {
+ case IDCANCEL: DestroyWindow(hW); return TRUE;
+ case IDOK: DestroyWindow(hW); return TRUE;
+ }
+ }
+ return FALSE;
+}
CODE_BEGINS
virtual int startup() throw (GeneralException) {
+ verbosity = M_INFO;
+ HBITMAP bmp;
+ Output * out = new Output("TestBmp.bmp");
+ char buffer[2048];
+ DWORD readed;
+
+ DialogBox(0, MAKEINTRESOURCE(IDD_ABOUT),
+ GetActiveWindow(), 0);
+// ShowWindow(CreateDialog(0, MAKEINTRESOURCE(IDD_ABOUT), GetActiveWindow(), AboutDlgProc), SW_SHOWDEFAULT);
+ bmp = LoadBitmap(0, MAKEINTRESOURCE(IDB_AYA));
+
+ do {
+ if (!ReadFile(bmp, buffer, 2048, &readed, 0)) {
+ DWORD dwErrCode = GetLastError();
+ LPVOID lpMsgBuf;
+ if (!FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
+ FORMAT_MESSAGE_FROM_SYSTEM |
+ FORMAT_MESSAGE_IGNORE_INSERTS,
+ NULL, GetLastError(),
+ MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
+ (LPTSTR) &lpMsgBuf, 0, NULL ))
+ throw GeneralException("Gave up on reading CD: unknown error");
+ String errmsg = (LPCTSTR) lpMsgBuf;
+ LocalFree(lpMsgBuf);
+ throw GeneralException("Got error " + errmsg);
+ }
+ printm(M_INFO, "Read %i bytes\n", readed);
+ out->write(buffer, readed);
+ } while (readed != 0);
+
return 0;
}
CODE_ENDS