والآن جاء دور البحت و التروي في إبتكارت برمجية في مجال الفظائيات و الأجهزة الرقمية
والآن جاء دور البحت و التروي في إبتكارت برمجية في مجال الفظائيات و الأجهزة الرقمية
ونبدأ بكتابة لغة الفجيوال بازيك الفيبي لعمل تجربة مبدأية لصنع برنامج
بسيط و سهل الأستعمال لقرائة السوفتكام كيي و التعديل عليه و من تم حفظه بإسم
أولا و قبل كل شيئ يجب على العموم معرفة لغة الفيجيوال بازيك و ماجاوره من
أوامر و إنتقاء للغة البرمجة مع العلم أنني لحد الآن لا أقول أنني أتقنها أو أحترفها
لكنني أحاول قدر الأمكان إستعمالها و محاولة مني لأستغلالها لخدمة المجال الفظائي
أولا و قبل كل شيئ
ونبدأ ببعض الكتابات الأولية لتعديل الفورم الأول الدي سيسمح لنا بالكتابة عليه
وإعطائه الأوامر الأساسية و منها النافدة الويندوزية المعروفة من فتح و حفظ و خروج
إلى آخره
هدا كود سورس للبرنامج
وإنشاء الله سأحاول شرحه بما فيه الكفاية سطرا بسطر
و هنا للتجربة
__________________________________________________ ___________
Bon préparon létape de la conception n°1
***********************************************
static char g_szClass****[] = "Editeur Softcamkey";
static HINSTANCE g_hInst = NULL;
#define IDC_MAIN_**** 1001
**********************************************
introduire la variable Menu item
******************************************
#include "Main.h"
MAINMENU MENU
{
POPUP "&Fichier"
{
MENUITEM "&Ouvrire...", CM_FILE_OPEN
MENUITEM "Enregistrer &Sous...", CM_FILE_SAVEAS
MENUITEM SEPARATOR
MENUITEM "S&ortire", CM_FILE_EXIT
}
POPUP "&Aide"
{
MENUITEM "&info........Entrer ici vos infos exemple Aboualae product", CM_ABOUT
}
}
************************************************** ****
Comme c'est décrit ici on a créer les items Menu qu'on va travailler
ci dessus
Telle (Ovrire , Enregistrer Sous , Sortire Nb on peut le separer par
un Séparateur de format --------- , Mot clé de la variable c'est SEPARATOR
ON Peut méme ajouter un itmeme peut important telle que Aide
décrit ici sur Menu item sous format d'un Popup "&Aide"
sans oublier la terminaison des variable entre guillemets ""
terminon la varible par une declaration de la comande
a déclarer CM_ABOUT
}
}
************************************************** ******
alors a suivre les autres variable et déclaration
************************************************** ******
Doc comme on a vue il y'a dans cette aplication Trois chose
ce qu'on apelle la compilation exacte
1-Maic.c ..............ce constitut des variable et décalartion de l'aplication
2-Main.h..............et la définition de ces variable ou en va travailler
telle que
#define CM_FILE_SAVEAS 9072
#define CM_FILE_EXIT 9071
#define CM_FILE_OPEN 9070
#define CM_ABOUT 9069
Voila reste les fichiers rc du Menu
3-Menu.rc
#include "Main.h"
MAINMENU MENU
{
POPUP "&Fichier"
{
MENUITEM "&Ouvrire...", CM_FILE_OPEN
MENUITEM "Enregistrer &Sous...", CM_FILE_SAVEAS
MENUITEM SEPARATOR
MENUITEM "S&ortire", CM_FILE_EXIT
}
POPUP "&Aide"
{
MENUITEM "&info........Aboualae", CM_ABOUT
}
}
C'est expliquer en haut
************************************************** ********
on a bien constituer le principale
reste l'entrer en detail pour cette constitution
Surtou la Main.c
on décalre
#include <******s.h>
#include "Main.h"
static char g_szClass****[] = "Editeur Softcamkey";
static HINSTANCE g_hInst = NULL;
#define IDC_MAIN_**** 1001
BOOL LoadFile(HWND hEdit, LPSTR pszFile****)
{
HANDLE hFile;
BOOL bSuccess = FALSE;
hFile = CreateFile(pszFile****, GENERIC_READ, FILE_SHARE_READ, NULL,
OPEN_EXISTING, 0, 0);
if(hFile != INVALID_HANDLE_VALUE)
{
DWORD dwFileSize;
dwFileSize = GetFileSize(hFile, NULL);
if(dwFileSize != 0x00000000)
{
LPSTR pszFile****;
pszFile**** = (LPSTR)GlobalAlloc(GPTR, dwFileSize + 1);
if(pszFile**** != NULL)
{
DWORD dwRead;
if(ReadFile(hFile, pszFile****, dwFileSize, &dwRead, NULL))
{
pszFile****[dwFileSize] = 0; // Null terminator
if(Set**********(hEdit, pszFile****))
bSuccess = TRUE; // It worked!
}
GlobalFree(pszFile****);
}
}
CloseHandle(hFile);
}
return bSuccess;
}
BOOL SaveFile(HWND hEdit, LPSTR pszFile****)
{
HANDLE hFile;
BOOL bSuccess = FALSE;
hFile = CreateFile(pszFile****, GENERIC_WRITE, 0, 0,
CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
if(hFile != INVALID_HANDLE_VALUE)
{
DWORD dw****Length;
dw****Length = Get**********Length(hEdit);
if(dw****Length > 0)// No need to bother if there's no ****.
{
LPSTR psz****;
psz**** = (LPSTR)GlobalAlloc(GPTR, dw****Length + 1);
if(psz**** != NULL)
{
if(Get**********(hEdit, psz****, dw****Length + 1))
{
DWORD dwWritten;
if(WriteFile(hFile, psz****, dw****Length, &dwWritten, NULL))
bSuccess = TRUE;
}
GlobalFree(psz****);
}
}
CloseHandle(hFile);
}
return bSuccess;
}
BOOL DoFileOpenSave(HWND hwnd, BOOL bSave)
{
OPENFILE**** ofn;
char szFile****[MAX_PATH];
ZeroMemory(&ofn, sizeof(ofn));
szFile****[0] = 0;
ofn.lStructSize = sizeof(ofn);
ofn.hwndOwner = hwnd;
ofn.lpstrFilter = "Softcam key Files (*.key)\0*.key\0All Files (*.*)\0*.*\0\0";
ofn.lpstrFile = szFile****;
ofn.nMaxFile = MAX_PATH;
ofn.lpstrDefExt = "Softcam";
if(bSave)
{
ofn.Flags = OFN_EXPLORER | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY |
OFN_OVERWRITEPROMPT;
if(GetSaveFile****(&ofn))
{
if(!SaveFile(GetDlgItem(hwnd, IDC_MAIN_****), szFile****))
{
MessageBox(hwnd, "Save file failed.", "Error",
MB_OK | MB_ICONEXCLAMATION);
return FALSE;
}
}
}
else
{
ofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
if(GetOpenFile****(&ofn))
{
if(!LoadFile(GetDlgItem(hwnd, IDC_MAIN_****), szFile****))
{
MessageBox(hwnd, "Load of file failed.", "Error",
MB_OK | MB_ICONEXCLAMATION);
return FALSE;
}
}
}
return TRUE;
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
{
switch(Message)
{
case WM_CREATE:
Create******("EDIT", "Bienvenu chers Amis dan l'éditeur des Softcam key pour receivers Platinum Simple éxécution",
WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL | ES_MULTILINE |
ES_WANTRETURN,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
hwnd, (HMENU)IDC_MAIN_****, g_hInst, NULL);
SendDlgItemMessage(hwnd, IDC_MAIN_****, WM_SETFONT,
(WPARAM)GetStockObject(DEFAULT_GUI_FONT), MAKELPARAM(TRUE, 0));
break;
case WM_SIZE:
if(wParam != SIZE_MINIMIZED)
Move******(GetDlgItem(hwnd, IDC_MAIN_****), 0, 0, LOWORD(lParam),
HIWORD(lParam), TRUE);
break;
case WM_SETFOCUS:
SetFocus(GetDlgItem(hwnd, IDC_MAIN_****));
break;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case CM_FILE_OPEN:
DoFileOpenSave(hwnd, FALSE);
break;
case CM_FILE_SAVEAS:
DoFileOpenSave(hwnd, TRUE);
break;
case CM_FILE_EXIT:
PostMessage(hwnd, WM_CLOSE, 0, 0);
break;
case CM_ABOUT:
MessageBox (NULL, "File Editor Softcam platinum key ", "About..Aboualae", 0);
}
break;
case WM_CLOSE:
Destroy******(hwnd);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return Def******Proc(hwnd, Message, wParam, lParam);
}
return 0;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
WNDCLASSEX WndClass;
HWND hwnd;
MSG Msg;
g_hInst = hInstance;
WndClass.cbSize = sizeof(WNDCLASSEX);
WndClass.style = 1;
WndClass.lpfnWndProc = WndProc;
WndClass.cbClsExtra = 0;
WndClass.cbWndExtra = 0;
WndClass.hInstance = g_hInst;
WndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
WndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
WndClass.hbrBackground = (HBRUSH)(COLOR_******+1);
WndClass.lpszMenu**** = "MAINMENU";
WndClass.lpszClass**** = g_szClass****;
WndClass.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
if(!RegisterClassEx(&WndClass))
{
MessageBox(0, "Softcam key Registration Failed!", "Error!",
MB_ICONEXCLAMATION | MB_OK | MB_SYSTEMMODAL);
return 0;
}
hwnd = Create******Ex(
WS_EX_CLIENTEDGE,
g_szClass****,
"File Editor Softcam key",
WS_OVERLAPPED******,
CW_USEDEFAULT, CW_USEDEFAULT, 320, 240,
NULL, NULL, g_hInst, NULL);
if(hwnd == NULL)
{
MessageBox(0, "Softcam key Creation Failed!", "Error!",
MB_ICONEXCLAMATION | MB_OK | MB_SYSTEMMODAL);
return 0;
}
Show******(hwnd, nCmdShow);
Update******(hwnd);
while(GetMessage(&Msg, NULL, 0, 0))
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return Msg.wParam;
}
************************************************** **********
بعج الأتهاء من عمل السورس كاملة لم يتبقى لنا سوى التجميع
و الحفظ تحت إمتداد البايت التاني و التلاتون يعني اللأكسيكوتابل.....EXE
. وأترك لكم فوق السورس كود و صورة من البرنامج التجريبي و صورة منه
|