rc_jk78 | Ué, ou alors, donnez moi des indics!
@Straffo: oui, ca pourrait etre suffisant
Donc, si le caractere "/n" est trouvé, alors sauter une ligne. Comment j'écris ca en C ?
Je saurais le recompiler
Message.H
Code :
- #ifndef __MESSAGE_H
- #define __MESSAGE_H
- #define WIN32_LEAN_AND_MEAN
- #pragma warning(disable: 4786) // STL naming warnings
- #include <windows.h>
- #include <stdlib.h>
- #include <string.h>
- #include "../ls-b247/lsapi/lsapi.h"
- extern "C" {
- void bangMessageBox(HWND caller, LPCSTR args);
- __declspec( dllexport ) int initModuleEx(HWND parent, HINSTANCE dll, LPCSTR szPath);
- __declspec( dllexport ) void quitModule(HINSTANCE dllInst);
- }
- #endif //__MESSAGE_H
|
message.cpp
Code :
- #include "message.h"
- int initModuleEx(HWND parentWnd, HINSTANCE dllInst, LPCSTR szPath)
- {
- AddBangCommand("!MessageBox", bangMessageBox);
- return 0;
- }
- void quitModule(HINSTANCE dllInst)
- {
- RemoveBangCommand("!MessageBox" );
- }
- void bangMessageBox(HWND caller, LPCSTR args)
- {
- char token[MAX_LINE_LENGTH], message[MAX_LINE_LENGTH], title[MAX_LINE_LENGTH];
- char command[3][MAX_LINE_LENGTH];
- LPCSTR nextToken = args;
- UINT flags;
- UINT icon;
- int result;
- GetToken(nextToken, token, &nextToken, true);
- if(lstrcmpi(token, "ari" ) == 0) flags = MB_ABORTRETRYIGNORE;
- else if(lstrcmpi(token, "ctc" ) == 0) flags = MB_CANCELTRYCONTINUE;
- else if(lstrcmpi(token, "o" ) == 0) flags = MB_OK;
- else if(lstrcmpi(token, "oc" ) == 0) flags = MB_OKCANCEL;
- else if(lstrcmpi(token, "rc" ) == 0) flags = MB_RETRYCANCEL;
- else if(lstrcmpi(token, "yn" ) == 0) flags = MB_YESNO;
- else if(lstrcmpi(token, "ync" ) == 0) flags = MB_YESNOCANCEL;
- else return;
- GetToken(nextToken, token, &nextToken, true);
- if(lstrcmpi(token, "error" ) == 0) icon = MB_ICONERROR;
- else if(lstrcmpi(token, "warning" ) == 0) icon = MB_ICONWARNING;
- else if(lstrcmpi(token, "info" ) == 0) icon = MB_ICONINFORMATION;
- else if(lstrcmpi(token, "question" ) == 0) icon = MB_ICONQUESTION;
- else icon = 0;
-
- if (icon)
- {
- GetToken(nextToken, token, &nextToken, true);
- }
- strcpy(message, token);
- GetToken(nextToken, token, &nextToken, true);
- strcpy(title, token);
- for(int i=0; i<3; i++)
- {
- GetToken(nextToken, token, &nextToken, true);
- strcpy(command[i], token);
- }
- i=0;
- result = MessageBox(caller, message, title,
- flags | icon | MB_TOPMOST | MB_SETFOREGROUND);
- switch(flags)
- {
- case MB_ABORTRETRYIGNORE:
- if(result==IDRETRY)
- i = 1;
- else if(result==IDIGNORE)
- i = 2;
- break;
- case MB_CANCELTRYCONTINUE:
- if(result==IDTRYAGAIN)
- i = 1;
- else if(result==IDCONTINUE)
- i = 2;
- break;
- case MB_OKCANCEL:
- if(result==IDCANCEL)
- i = 1;
- break;
- case MB_RETRYCANCEL:
- if(result==IDCANCEL)
- i = 1;
- break;
- case MB_YESNO:
- if(result==IDNO)
- i = 1;
- break;
- case MB_YESNOCANCEL:
- if(result==IDNO)
- i = 1;
- else if(result==IDCANCEL)
- i = 2;
- break;
- }
- LSExecute(caller, command[i], SW_SHOWDEFAULT);
- }
|
|