Voir zip + screenshot Renommer Telec.ex_ en Telec.exe
Télécharger le zip
Crée 1 seule fois ton HBRUSH dans WM_INITDIALOG.
Erreur : Les paramètres de sécurité actuels ne vous permettent pas de télécharger ce fichier.Explications ?
J'ai la même erreur :)Et vala aucune explication à donné. Mon compte est en mode administrateur, je passe par un routeur si ça peut aidé lol, et j'aime les frites, je sais pas si ça a de l'importance mais voila ;)
Salut,à prioris pas de problème chez moi, tout fonctionne.eRoZion
tu peux expliquer le continu de la dll "shdocvw.dll" que tu utilises STP ?
J'ai constaté qu'il y avait des tonnes de sourcesen VB utilisant l'API DoFileDownload (Voir Google).Celle-ci est une adaptation en C.
Moi je n'arrive pas à le compiler en fait.J'utilise Visual C++ 5. En fait il refuse celle ligne :(*fpDFD)(szWideURL);error C2197: 'int(__stdcall *)(void)' : too many actual parametersGlipper
Essaie de cette manière pour voir...#include <windows.h>#include "telec.h"typedef ULONG (WINAPI *DFD)(LPCWSTR);//-----------------------------------------------------------------------------BOOL CALLBACK MainProc(HWND hDlg,UINT uMsg,WPARAM wParam,LPARAM lParam){ char szAnsiURL[MAX_PATH]; WCHAR szWideURL[MAX_PATH]; static HINSTANCE hInstDLL; static HBRUSH hbEdit; DFD fpDFD; //static FARPROC fpDFD; switch (uMsg) { case WM_INITDIALOG: hInstDLL = LoadLibrary("shdocvw.dll"); hbEdit = CreateSolidBrush(RGB(255, 255, 200)); SetFocus(GetDlgItem(hDlg, IDC_EDIT)); return FALSE; case WM_CTLCOLOREDIT: SetTextColor((HDC)wParam, RGB(255, 0, 0)); SetBkColor((HDC)wParam, RGB(255, 255, 200)); return (BOOL)hbEdit; case WM_COMMAND: switch(LOWORD(wParam)) { case IDC_CLIC: GetDlgItemText(hDlg, IDC_EDIT, szAnsiURL, MAX_PATH); if(hInstDLL) { if(fpDFD = (DFD)GetProcAddress(hInstDLL, "DoFileDownload")) { MultiByteToWideChar(CP_ACP, 0, szAnsiURL, -1, szWideURL, sizeof(szWideURL)); fpDFD(szWideURL); } else MessageBox(hDlg, "Erreur: GetProcAddress() ", "Téléchargement", MB_OK|MB_ICONSTOP); } else MessageBox(hDlg, "Erreur: LoadLibrary() ", "Téléchargement", MB_OK|MB_ICONSTOP); SetFocus(GetDlgItem(hDlg, IDC_EDIT)); return TRUE; case IDCANCEL: FreeLibrary(hInstDLL); EndDialog (hDlg, 0); return TRUE; } break; } return FALSE;}//-----------------------------------------------------------------------------int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpLine, int nShow){ return DialogBox(hInst, (LPCSTR)IDD_MAIN, (HWND)NULL, (DLGPROC)MainProc);}
Super ça marche très bien :)Merci
L'api Wininet n'aurai pas été plus simple (et puis pas besoin de dll externe ) ?
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte
1 702 997 membres 86 nouveaux aujourd'hui 15 735 membres club