Accueil > > > [WIN32][C][DEV-C++] WSEARCH GOOGLE HACK
[WIN32][C][DEV-C++] WSEARCH GOOGLE HACK
Information sur la source
Description
Google Hack ce fameux outil de recherche sur internet est depuis peu détecté comme un virus, (car correspondant à un outil potentiel de hack) j'ai recoder (très simplement) l'outil en y ajoutant des liens que j'affectionne et des extensions supplémentaires. La taille de l'exécutable passe aussi de 2mo (original) a 20ko ... Pour utiliser l'exécutable, renommer WSearch_V0.1.ex en WSearch_V0.1.exe toutes vos remarques sont les bienvenues.
Source
- //------------------------------------------------------------------------------
- // Projet WSearch : Recherhche via google
- // Auteur : Hanteville Nicolas
- // Fichier : main.c
- // Version : 0.2
- // Date de modification : 16/04/2008
- // Description : module de recherche automatique sur internet
- // Environnement : compatiblité DEVCPP / VISUAL C++ / BORLAND C++ 5.x
- //------------------------------------------------------------------------------
- #define _WIN32_WINNT 0x0500
- #define _WIN32_IE 0x0500
- #include <windows.h>
- #include <commctrl.h>
- //------------------------------------------------------------------------------
- #define NOM_APPLI "WSearch_V0.2_Hanteville_Nicolas" //titre de la fenêtr + classe
- #define A 100 //id de l'icone interne
- #define MSB_BOUTON 1000 //msg duy bouton
- #define TAILLE_MAX_URL 1024 //taille maximum de l'url (url total = TAILLE_MAX_URL*2 + saisies)
- #define TAILLE_MAX_TITRE 256
- #define TAILLE_MAX_CMD 3*TAILLE_MAX_URL+2
- #define NB_MAX_URLS 128 //nombre maximum d'urls enregistrés
- //------------------------------------------------------------------------------
- #define SP_SEPARATEUR "---------------------------------"
- #define CONF "CONFIGURATION"
-
- /*
- Information:
- Il suffit d'ajouter maintenant directement dans le fichier ini les url
- la partie début présente l'url avant la chaine de recherche
- la partie fin représente l'url après la chaine de recherche
-
- si la partie début a pour texte '-' il n peut pas être traité
- (après vous mettez le titre que vous voulez c'est que pour l'affichage)
- */
-
- //------------------------------------------------------------------------------
- typedef struct
- {
- char DebutUrl[TAILLE_MAX_URL+1];
- char FinUrl[TAILLE_MAX_URL+1];
- }url;
- //------------------------------------------------------------------------------
- url MesUrls[NB_MAX_URLS];
- HWND Hbouton;
- HWND HComboBox;
- HWND HText;
- HINSTANCE Hinst;
- //------------------------------------------------------------------------------
- //******************************************************************************
- //titre d'un item
- char* TitreItem(unsigned short id, char *titre,int size)
- {
- titre[0]=0;
-
- COMBOBOXEXITEM item;
- item.mask = CBEIF_TEXT;
- item.iItem = id;
- item.pszText = titre;
- item.cchTextMax = size;
- item.iImage = 0;
- item.iSelectedImage=0;
- item.iOverlay=0;
- item.iIndent=0;
- item.lParam=id;
-
- SendMessage(HComboBox, CBEM_GETITEM,0, (LPARAM)&item);
-
- return titre;
- }
- //******************************************************************************
- //ajout d'items
- void AjouterItem(unsigned short id,char* debut, char*fin, char *titre)
- {
- if (id<NB_MAX_URLS)
- {
- strncpy(MesUrls[id].DebutUrl,debut,TAILLE_MAX_URL);
- strncpy(MesUrls[id].FinUrl,fin,TAILLE_MAX_URL);
-
- COMBOBOXEXITEM item;
-
- item.mask = CBEIF_TEXT;
- item.iItem = id;
- item.pszText = titre;
- item.cchTextMax = strlen(titre);
- item.iImage = 0;
- item.iSelectedImage=0;
- item.iOverlay=0;
- item.iIndent=0;
- item.lParam=id;
-
- //ajout a la comboboxEx
- SendMessage(HComboBox, CBEM_INSERTITEM,0, (LPARAM)&item);
- }
- }
- //******************************************************************************
- //fct de chargement des urls
-
- DWORD WINAPI Chargement(LPVOID lParam)
- {
- char tmpTitre1[TAILLE_MAX_TITRE+1],tmpTitre2[TAILLE_MAX_TITRE+1],tmpTitre3[TAILLE_MAX_TITRE+1];
- char tmp_bloc1[TAILLE_MAX_URL+1],tmp_bloc2[TAILLE_MAX_URL+1],tmp_bloc3[TAILLE_MAX_TITRE+1];
-
- char tmpcout[256];
-
- //répertoire courant
- char Emplacement[MAX_PATH];
- GetCurrentDirectory(MAX_PATH - 1, Emplacement);
- strcat(Emplacement,"\\conf.ini\0");
-
- //nombre d'éléments
- tmpcout[0]=0;
- GetPrivateProfileString(CONF,"COUNT","0",tmpcout,255,Emplacement);
-
- int i,count = atoi(tmpcout);
-
- if(count>0)
- {
- for (i=0;i<=count;i++)
- {
- sprintf(tmpTitre1,"URL_DEBUT%02d",i);
- sprintf(tmpTitre2,"URL_FIN%02d",i);
- sprintf(tmpTitre3,"TITRE%02d",i);
- GetPrivateProfileString(CONF,tmpTitre1,"",tmp_bloc1,TAILLE_MAX_URL,Emplacement);
- GetPrivateProfileString(CONF,tmpTitre2,"",tmp_bloc2,TAILLE_MAX_URL,Emplacement);
- GetPrivateProfileString(CONF,tmpTitre3,"",tmp_bloc3,TAILLE_MAX_TITRE,Emplacement);
-
- //ajout d'items
- AjouterItem(i,tmp_bloc1,tmp_bloc2,tmp_bloc3);
- }
- //sélection du premier choix
- SendMessage(HComboBox,CB_SETCURSEL,(WPARAM )0,(LPARAM )0);
- }else
- {
- //si aucun choix on ajoute les choix par défaut
- //remplissage des urls + structure
- AjouterItem(count++,"http://www.google.com/search?q=-inurl%3A%28htm%7Chtml%7Cphp%29+intitle%3A%22index+of%22+%2B%22last+modified%22+%2B%22parent+directory%22+%2Bdescription+%2Bsize+%2B%28.mp3%7C.wma%7C.ogg%29+%22","%22","Musiques: mp3,wma,ogg");
- AjouterItem(count++,"http://www.google.com/search?q=-inurl%3A%28htm%7Chtml%7Cphp%29+intitle%3A%22index+of%22+%2B%22last+modified%22+%2B%22parent+directory%22+%2Bdescription+%2Bsize+%2B%28.txt%7C.pps%7C.ppt%7C.zip%7C.cbz%7C.cbr%7C.odt%7C.doc%7C.rtf%7C.rar%7C.pdf%7C.chm%7C.hlp%29+%22","%22","Livres: pps,ppt,odt,doc,rtf,rar,zip,cbz,cbr,pdf,chm,hlp");
- AjouterItem(count++,"http://www.google.com/search?q=-inurl%3A%28htm%7Chtml%7Cphp%29+intitle%3A%22index+of%22+%2B%22last+modified%22+%2B%22parent+directory%22+%2Bdescription+%2Bsize+%2B%28.mpg%7C.avi%7C.flv%7C.wmv%7C.mpeg%7C.nsc%7C.mov%7C.rm%7C.rmvb%7C.mkv%29+%22","%22","Videos: avi,flv,wmv,mpg,mpeg,nsc,mov,rm,rmvb,mkv");
- AjouterItem(count++,"http://images.google.com/images?q=","\0","Images");
- AjouterItem(count++,"http://www.google.com/search?q=-inurl%3A%28htm%7Chtml%7Cphp%29+intitle%3A%22index+of%22+%2B%22last+modified%22+%2B%22parent+directory%22+%2Bdescription+%2Bsize+%2B%28.ico%7C.cur%29+%22","%22","Curseurs: ico,cur");
- AjouterItem(count++,"http://www.google.com/search?q=","+site%3Ahttp%3A%2F%2Fwww.searchfreefonts.com%2Ffont+OR+site%3Awww.dafont.com+OR+site%3Ahttp%3A%2F%2Fwww.searchfreefonts.com%2F+++-comments+-categories.php+-comment.php","Font: police de caractère");
- AjouterItem(count++,"http://www.google.com/search?q=-inurl%3A%28htm%7Chtml%7Cphp%29+intitle%3A%22index+of%22+%2B%22last+modified%22+%2B%22parent+directory%22+%2Bdescription+%2Bsize+%2B%28.srt%7C.sub%29+%22","%22","Sous-titres: sub,srt");
- AjouterItem(count++,"http://www.google.com/search?q=-inurl%3A%28htm%7Chtml%7Cphp%29+intitle%3A%22index+of%22+%2B%22last+modified%22+%2B%22parent+directory%22+%2Bdescription+%2Bsize+%2B%28.exe%7C.rar%7C.zip%7C.msi%29+%22","%22","Applications: exe,zip,rar,msi");
- AjouterItem(count++,"http://www.google.com/search?q=","&btnG=Search&q=%28&q=bigupload.com%2Fd+%7C&q=filefactory.com%2Ffile+%7C&q=dl-1.free.fr+%7C&q=gigasize.com%2Fget.php+%7C&q=d01.megashares.com%2F%3Fd01+%7C&q=megaupload.com%2F%3Fd+%7C&q=rapidshare.com%2Ffiles+%7C&q=rapidshare.de%2Ffiles+%7C&q=rapidupload.com%2Fd.php+%7C&q=sendspace.com%2Ffile+%7C&q=sexuploader.com%2F%3Fd+%7C&q=uploading.com%2F%3Fget+%7C&q=uploadport.com%2Frequest%2F%3Ffid+%7C&q=zupload.com%2Fdownload.php+%7C&q=%29","Direct download");
- AjouterItem(count++,"-","\0",SP_SEPARATEUR);
- AjouterItem(count++,"http://www.google.com/search?q=","&btnG=Search&q=filetype%3Atorrent","Peer to Peer: torrent (google)");
- AjouterItem(count++,"http://thepiratebay.org/search/","/0/99/0","Peer to Peer: torrent (thepiratebay)");
- AjouterItem(count++,"http://www.mininova.org/search/?search=","\0","Peer to Peer: torrent (mininova)");
- AjouterItem(count++,"-","\0",SP_SEPARATEUR);
- AjouterItem(count++,"http://www.google.com/search?q=link%3A","\0","Outils: lien (url)");
- AjouterItem(count++,"http://www.google.com/addurl?q=","&dqq=","Outils: ajout de lien (url)");
- AjouterItem(count++,"http://www.google.com/search?q=related%3","\0","Outils: lien raconté (url)");
- AjouterItem(count++,"http://www.google.com/search?q=site%3","\0","Outils: index lien (url)");
- AjouterItem(count++,"-","\0",SP_SEPARATEUR);
- AjouterItem(count++,"http://www.google.com/search?q=intitle%3A%22Index+of%22+passwords+modified+site%3A","\0","Hack mdp: intitle");
- AjouterItem(count++,"http://www.google.com/search?q=allinurl%3Aauth_user_file.txt+site%3A","\0","Hack mdp: allinurl,auth_user_file.txt");
- AjouterItem(count++,"http://www.google.com/search?q=inurl%3Apasslist.txt&btnG=Search+site%3A","\0","Hack mdp: inurl,passlist.txt");
- AjouterItem(count++,"http://www.google.com/search?q=%22%23+-FrontPage-%22+inurl%3Aservice.pwd+site%3A","\0","Hack mdp: FrontPage,inurl,service.pwd");
- AjouterItem(count++,"http://www.google.com/search?q=intitle%3A%22Index+of%22+config.php+site%3A","\0","Hack mdp: intitle,Index of,config.php");
- AjouterItem(count++,"http://www.google.com/search?q=%22http%3A%2F%2F*%3A*%40%22","\0","Hack mdp: http");
- AjouterItem(count++,"-","\0",SP_SEPARATEUR);
- AjouterItem(count++,"http://www.google.com/translate?langpair=fr|en&u=","\0","Proxy: traduction");
- AjouterItem(count++,"http://www.google.com/gwt/n?u=http%3A%2F%2F","%2F","Proxy: cache");
- AjouterItem(count++,"http://web.archive.org/web/*/","\0","Proxy: cache (url)");
- AjouterItem(count++,"-","\0",SP_SEPARATEUR);
- AjouterItem(count++,"http://groups.google.fr/groups/search?hl=fr&q=","&qt_s=Rechercher+des+groupes","News groupe");
- AjouterItem(count++,"http://blogsearch.google.fr/blogsearch?q=","&um=1&hl=fr&imgsz=icon&ie=UTF-8&sa=N&tab=gb","Blog");
- AjouterItem(count++,"http://maps.google.fr/maps?f=q&hl=fr&q=","&btnG=Recherche+Google+Maps","Google Map");
- AjouterItem(count++,"http://www.google.fr/search?q=recette+","\0","Recette de cuisine");
- AjouterItem(count++,"http://fr.wikipedia.org/wiki/","","Encyclopédie: Wikipedia");
- AjouterItem(count++,"-","\0",SP_SEPARATEUR);
- AjouterItem(count++,"http://www.cdiscount.com/search/","/sa-10.html","Achat: Cdiscount");
- AjouterItem(count++,"http://www.grosbill.com/catv2.cgi?recherche=","&x=0&y=0&mode=recherche","Achat: Grosbill");
- AjouterItem(count++,"http://www.priceminister.com/?action=se&kw=","&category=sa&submitbtn=","Achat: Priceminister");
- AjouterItem(count++,"http://www.surcouf.com/Recherche/ResultatRecherche.aspx?search=","\0","Achat: Surcouf");
- AjouterItem(count++,"http://www.ldlc.com/navigation/recherche2.html?motcle=","\0","Achat: Ldlc");
- AjouterItem(count++,"http://search.rueducommerce.fr/shared/recherche/index.cfm?recherche=","&prix=&trix=1&typetrix=DESC&bound=20&schcid=","Achat: RueDuCommerce");
- AjouterItem(count++,"http://www3.fnac.com/search/quick.do?Origin=FnacAff&text=","&category=all&x=0&y=0","Achat: FNAC");
- AjouterItem(count++,"http://search.ebay.fr/search/search.dll?query=","&MfcISAPICommand=GetResult&ht=1&ebaytag1=ebayreg&srchdesc=n&maxRecordsReturned=30000&maxRecordsPerPage=500&SortProperty=MetaEndSort","Achat: Ebay");
- AjouterItem(count++,"http://www.amazon.fr/s/url=search-alias%3Daps&field-keywords=","&Go.x=13&Go.y=10&Go=Go","Achat: Amazone");
- AjouterItem(count++,"http://www.alapage.com/-/MultiRecherche?choix=fulltext&ap=1&pos=2&cat=&default=Recherche&fulltext=","&type=0","Achat: Alapage");
- AjouterItem(count++,"http://www.google.com/search?q=","&btnG=Search&q=%28&q=cdiscount.com+%7C&q=grosbill.com+%7C&q=priceminister.com+%7C&q=surcouf.com+%7C&q=ldlc.com+%7C&q=rueducommerce.fr+%7C&q=fnac.com+%7C&q=ebay.fr+%7C&q=amazon.fr+%7C&q=alapage.com+%7C&q=%29","Achat: Tous");
- AjouterItem(count++,"-","\0",SP_SEPARATEUR);
- AjouterItem(count++,"http://www.google.com/translate_dict?q=","&hl=fr&langpair=en%7Cfr","Traduction: Anglais->Français");
- AjouterItem(count++,"http://www.google.com/translate_dict?q=","&hl=fr&langpair=fr%7Cen","Traduction: Français->Anglais");
- AjouterItem(count++,"http://www.google.com/translate?u=http%3A%2F%2F","&langpair=en%7Cfr&hl=fr&ie=UTF8","Traduction: Anglais->Français (URL)");
- AjouterItem(count++,"-","\0",SP_SEPARATEUR);
- AjouterItem(count++,"http://search.msdn.microsoft.com/Default.aspx?locale=en-US&Query=","&Brand=msdn","Programmation: MSDN");
- AjouterItem(count++,"http://www.cppfrance.com/recherche.aspx?r=","\0","Programmation: CPPfrance");
- AjouterItem(count++,"http://www.google.com/custom?hl=fr&cof=S%3Ahttp%3A%2F%2Fwww.developpez.com%3BL%3Ahttp%3A%2F%2Fwww.developpez.com%2Ftemplate%2Flogo.gif%3B&domains=developpez.com%3Bdeveloppez.net&q=","&btnG=Rechercher&sitesearch=developpez.com","Programmation: Développez");
- AjouterItem(count++,"http://www.codeproject.com/info/search.aspx?artkw=","\0","Programmation: Codeproject");
- AjouterItem(count++,"-","\0",SP_SEPARATEUR);
- AjouterItem(count++,"http://www.animenfo.com/search.php?query=","&queryin=anime_titles&action=Go&option=keywords","Anime/Manga: animenfo");
- AjouterItem(count++,"http://www.bedetheque.com/index.php?R=1&RechTexte=","&btRecherche=OK&RechSerie=&RechAuteur=&RechEditeur=&RechCollection=&RechStyle=&RechDL=&RechISBN=","Bds: bedetheque");
-
- //sélection du premier choix
- SendMessage(HComboBox,CB_SETCURSEL,(WPARAM )0,(LPARAM )0);
-
- //enregistrement dans le fichier ini
- tmpcout[0]=0;
- count--;
- WritePrivateProfileString(CONF,"COUNT",itoa(count,tmpcout,10),Emplacement);
- while(count>-1)
- {
- sprintf(tmpTitre1,"URL_DEBUT%02d",count);
- sprintf(tmpTitre2,"URL_FIN%02d",count);
- sprintf(tmpTitre3,"TITRE%02d",count);
-
- WritePrivateProfileString(CONF,tmpTitre1,MesUrls[count].DebutUrl,Emplacement);
- WritePrivateProfileString(CONF,tmpTitre2,MesUrls[count].FinUrl,Emplacement);
- WritePrivateProfileString(CONF,tmpTitre3,TitreItem(count,tmp_bloc3,TAILLE_MAX_TITRE+1),Emplacement);
- count--;
- }
- }
-
- return 0;
- }
- //******************************************************************************
- //fct de traitement
- DWORD WINAPI Exec(LPVOID lParam)
- {
- unsigned int id = (unsigned int)lParam;
- char tmpcommande[TAILLE_MAX_CMD];
- char tmp[TAILLE_MAX_URL+1];
-
- EnableWindow(Hbouton,0);
-
- //récupération de la recherche
- tmp[0]=0;
- GetWindowText(HText,tmp,TAILLE_MAX_URL);
-
- if(MesUrls[id].DebutUrl[0]!='-')//le caractère --- spécifie un titre
- {
- //si un espace on converti par un +
- char *t = tmp;
- while(*t)
- {
- if (*t==' ')*t='+';
- *t++;
- }
-
- //création de la requête
- snprintf(tmpcommande,TAILLE_MAX_CMD,"%s%s%s",MesUrls[id].DebutUrl,tmp,MesUrls[id].FinUrl);
-
- //exécution
- ShellExecute(NULL,"Open",tmpcommande, NULL, NULL, SW_SHOWNORMAL);
- }
- EnableWindow(Hbouton,1);
-
- return 0;
- }
-
- //******************************************************************************
- //gestion des messages
- LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
- {
- if (message == WM_COMMAND && (LOWORD(wParam) == MSB_BOUTON || LOWORD(wParam) == IDOK) || message==WM_KEYDOWN && wParam == VK_RETURN)
- {
-
- CreateThread(0,0,Exec,(LPVOID)SendMessage(HComboBox,CB_GETCURSEL,(WPARAM )0,(LPARAM )0),0,0);
- }
- else if (message == WM_DESTROY)PostQuitMessage (0);
- else return DefWindowProc (hwnd, message, wParam, lParam);
-
- return 0;
- }
-
- //******************************************************************************
- //création de la fenêtre principale
- int WINAPI WinMain (HINSTANCE hThisInstance,HINSTANCE hPrevInstance,LPSTR lpszArgument,int nFunsterStil)
- {
- MSG messages;
- WNDCLASS wincl;
- HWND hwnd;
-
- INITCOMMONCONTROLSEX icex;
- icex.dwSize = sizeof(INITCOMMONCONTROLSEX);
- icex.dwICC = ICC_USEREX_CLASSES;
- InitCommonControlsEx(&icex);
-
- wincl.style = CS_HREDRAW | CS_VREDRAW;
- wincl.lpfnWndProc = WindowProcedure;
- wincl.cbClsExtra = 0;
- wincl.cbWndExtra = 0;
- wincl.hInstance = Hinst = hThisInstance;
- wincl.lpszMenuName = "";
- wincl.lpszClassName = NOM_APPLI;
- wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;
-
- //chargement des icones (via les ressources)
- wincl.hIcon = (HICON)LoadIcon(hThisInstance, MAKEINTRESOURCE(A));
- wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
-
- //on crée la classe (on l'enregistre)
- if(!RegisterClass(&wincl)) return FALSE;
-
- //création de la fenêtre
- hwnd = CreateWindow(NOM_APPLI,NOM_APPLI,WS_OVERLAPPED| WS_SYSMENU,CW_USEDEFAULT, CW_USEDEFAULT, 400, 100,0, 0, hThisInstance, 0);
-
- if (!hwnd) return FALSE;
-
- //création des éléments
- Hbouton = CreateWindow("BUTTON","Rechercher",WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON ,290,45,90 ,23 , hwnd, (HMENU )MSB_BOUTON, hThisInstance, NULL);
- HText = CreateWindow("EDIT", "",WS_BORDER |WS_CHILD |WS_VISIBLE|ES_LEFT ,10,9, 370, 23, hwnd, NULL, hThisInstance, NULL);
- HComboBox= CreateWindow(WC_COMBOBOXEX,"",CBS_DROPDOWN | CBS_DROPDOWNLIST | CBS_SIMPLE | WS_CHILD | WS_OVERLAPPED | WS_VISIBLE,10,45, 260, 200, hwnd, NULL, hThisInstance, NULL);
-
- CreateThread(0,0,Chargement,0,0,0);
-
- //afficher la fenêtre
- ShowWindow (hwnd, nFunsterStil);
- UpdateWindow(hwnd);
-
- //appliquer le focus par défaut sur l'item
- SetFocus(HText);
-
- while (GetMessage (&messages, NULL, 0, 0))
- {
- if (!IsDialogMessage(hwnd, &messages))
- {
- TranslateMessage(&messages);
- DispatchMessage(&messages);
- }
- }
-
- return messages.wParam;
- }
//------------------------------------------------------------------------------
// Projet WSearch : Recherhche via google
// Auteur : Hanteville Nicolas
// Fichier : main.c
// Version : 0.2
// Date de modification : 16/04/2008
// Description : module de recherche automatique sur internet
// Environnement : compatiblité DEVCPP / VISUAL C++ / BORLAND C++ 5.x
//------------------------------------------------------------------------------
#define _WIN32_WINNT 0x0500
#define _WIN32_IE 0x0500
#include <windows.h>
#include <commctrl.h>
//------------------------------------------------------------------------------
#define NOM_APPLI "WSearch_V0.2_Hanteville_Nicolas" //titre de la fenêtr + classe
#define A 100 //id de l'icone interne
#define MSB_BOUTON 1000 //msg duy bouton
#define TAILLE_MAX_URL 1024 //taille maximum de l'url (url total = TAILLE_MAX_URL*2 + saisies)
#define TAILLE_MAX_TITRE 256
#define TAILLE_MAX_CMD 3*TAILLE_MAX_URL+2
#define NB_MAX_URLS 128 //nombre maximum d'urls enregistrés
//------------------------------------------------------------------------------
#define SP_SEPARATEUR "---------------------------------"
#define CONF "CONFIGURATION"
/*
Information:
Il suffit d'ajouter maintenant directement dans le fichier ini les url
la partie début présente l'url avant la chaine de recherche
la partie fin représente l'url après la chaine de recherche
si la partie début a pour texte '-' il n peut pas être traité
(après vous mettez le titre que vous voulez c'est que pour l'affichage)
*/
//------------------------------------------------------------------------------
typedef struct
{
char DebutUrl[TAILLE_MAX_URL+1];
char FinUrl[TAILLE_MAX_URL+1];
}url;
//------------------------------------------------------------------------------
url MesUrls[NB_MAX_URLS];
HWND Hbouton;
HWND HComboBox;
HWND HText;
HINSTANCE Hinst;
//------------------------------------------------------------------------------
//******************************************************************************
//titre d'un item
char* TitreItem(unsigned short id, char *titre,int size)
{
titre[0]=0;
COMBOBOXEXITEM item;
item.mask = CBEIF_TEXT;
item.iItem = id;
item.pszText = titre;
item.cchTextMax = size;
item.iImage = 0;
item.iSelectedImage=0;
item.iOverlay=0;
item.iIndent=0;
item.lParam=id;
SendMessage(HComboBox, CBEM_GETITEM,0, (LPARAM)&item);
return titre;
}
//******************************************************************************
//ajout d'items
void AjouterItem(unsigned short id,char* debut, char*fin, char *titre)
{
if (id<NB_MAX_URLS)
{
strncpy(MesUrls[id].DebutUrl,debut,TAILLE_MAX_URL);
strncpy(MesUrls[id].FinUrl,fin,TAILLE_MAX_URL);
COMBOBOXEXITEM item;
item.mask = CBEIF_TEXT;
item.iItem = id;
item.pszText = titre;
item.cchTextMax = strlen(titre);
item.iImage = 0;
item.iSelectedImage=0;
item.iOverlay=0;
item.iIndent=0;
item.lParam=id;
//ajout a la comboboxEx
SendMessage(HComboBox, CBEM_INSERTITEM,0, (LPARAM)&item);
}
}
//******************************************************************************
//fct de chargement des urls
DWORD WINAPI Chargement(LPVOID lParam)
{
char tmpTitre1[TAILLE_MAX_TITRE+1],tmpTitre2[TAILLE_MAX_TITRE+1],tmpTitre3[TAILLE_MAX_TITRE+1];
char tmp_bloc1[TAILLE_MAX_URL+1],tmp_bloc2[TAILLE_MAX_URL+1],tmp_bloc3[TAILLE_MAX_TITRE+1];
char tmpcout[256];
//répertoire courant
char Emplacement[MAX_PATH];
GetCurrentDirectory(MAX_PATH - 1, Emplacement);
strcat(Emplacement,"\\conf.ini\0");
//nombre d'éléments
tmpcout[0]=0;
GetPrivateProfileString(CONF,"COUNT","0",tmpcout,255,Emplacement);
int i,count = atoi(tmpcout);
if(count>0)
{
for (i=0;i<=count;i++)
{
sprintf(tmpTitre1,"URL_DEBUT%02d",i);
sprintf(tmpTitre2,"URL_FIN%02d",i);
sprintf(tmpTitre3,"TITRE%02d",i);
GetPrivateProfileString(CONF,tmpTitre1,"",tmp_bloc1,TAILLE_MAX_URL,Emplacement);
GetPrivateProfileString(CONF,tmpTitre2,"",tmp_bloc2,TAILLE_MAX_URL,Emplacement);
GetPrivateProfileString(CONF,tmpTitre3,"",tmp_bloc3,TAILLE_MAX_TITRE,Emplacement);
//ajout d'items
AjouterItem(i,tmp_bloc1,tmp_bloc2,tmp_bloc3);
}
//sélection du premier choix
SendMessage(HComboBox,CB_SETCURSEL,(WPARAM )0,(LPARAM )0);
}else
{
//si aucun choix on ajoute les choix par défaut
//remplissage des urls + structure
AjouterItem(count++,"http://www.google.com/search?q=-inurl%3A%28htm%7Chtml%7Cphp%29+intitle%3A%22index+of%22+%2B%22last+modified%22+%2B%22parent+directory%22+%2Bdescription+%2Bsize+%2B%28.mp3%7C.wma%7C.ogg%29+%22","%22","Musiques: mp3,wma,ogg");
AjouterItem(count++,"http://www.google.com/search?q=-inurl%3A%28htm%7Chtml%7Cphp%29+intitle%3A%22index+of%22+%2B%22last+modified%22+%2B%22parent+directory%22+%2Bdescription+%2Bsize+%2B%28.txt%7C.pps%7C.ppt%7C.zip%7C.cbz%7C.cbr%7C.odt%7C.doc%7C.rtf%7C.rar%7C.pdf%7C.chm%7C.hlp%29+%22","%22","Livres: pps,ppt,odt,doc,rtf,rar,zip,cbz,cbr,pdf,chm,hlp");
AjouterItem(count++,"http://www.google.com/search?q=-inurl%3A%28htm%7Chtml%7Cphp%29+intitle%3A%22index+of%22+%2B%22last+modified%22+%2B%22parent+directory%22+%2Bdescription+%2Bsize+%2B%28.mpg%7C.avi%7C.flv%7C.wmv%7C.mpeg%7C.nsc%7C.mov%7C.rm%7C.rmvb%7C.mkv%29+%22","%22","Videos: avi,flv,wmv,mpg,mpeg,nsc,mov,rm,rmvb,mkv");
AjouterItem(count++,"http://images.google.com/images?q=","\0","Images");
AjouterItem(count++,"http://www.google.com/search?q=-inurl%3A%28htm%7Chtml%7Cphp%29+intitle%3A%22index+of%22+%2B%22last+modified%22+%2B%22parent+directory%22+%2Bdescription+%2Bsize+%2B%28.ico%7C.cur%29+%22","%22","Curseurs: ico,cur");
AjouterItem(count++,"http://www.google.com/search?q=","+site%3Ahttp%3A%2F%2Fwww.searchfreefonts.com%2Ffont+OR+site%3Awww.dafont.com+OR+site%3Ahttp%3A%2F%2Fwww.searchfreefonts.com%2F+++-comments+-categories.php+-comment.php","Font: police de caractère");
AjouterItem(count++,"http://www.google.com/search?q=-inurl%3A%28htm%7Chtml%7Cphp%29+intitle%3A%22index+of%22+%2B%22last+modified%22+%2B%22parent+directory%22+%2Bdescription+%2Bsize+%2B%28.srt%7C.sub%29+%22","%22","Sous-titres: sub,srt");
AjouterItem(count++,"http://www.google.com/search?q=-inurl%3A%28htm%7Chtml%7Cphp%29+intitle%3A%22index+of%22+%2B%22last+modified%22+%2B%22parent+directory%22+%2Bdescription+%2Bsize+%2B%28.exe%7C.rar%7C.zip%7C.msi%29+%22","%22","Applications: exe,zip,rar,msi");
AjouterItem(count++,"http://www.google.com/search?q=","&btnG=Search&q=%28&q=bigupload.com%2Fd+%7C&q=filefactory.com%2Ffile+%7C&q=dl-1.free.fr+%7C&q=gigasize.com%2Fget.php+%7C&q=d01.megashares.com%2F%3Fd01+%7C&q=megaupload.com%2F%3Fd+%7C&q=rapidshare.com%2Ffiles+%7C&q=rapidshare.de%2Ffiles+%7C&q=rapidupload.com%2Fd.php+%7C&q=sendspace.com%2Ffile+%7C&q=sexuploader.com%2F%3Fd+%7C&q=uploading.com%2F%3Fget+%7C&q=uploadport.com%2Frequest%2F%3Ffid+%7C&q=zupload.com%2Fdownload.php+%7C&q=%29","Direct download");
AjouterItem(count++,"-","\0",SP_SEPARATEUR);
AjouterItem(count++,"http://www.google.com/search?q=","&btnG=Search&q=filetype%3Atorrent","Peer to Peer: torrent (google)");
AjouterItem(count++,"http://thepiratebay.org/search/","/0/99/0","Peer to Peer: torrent (thepiratebay)");
AjouterItem(count++,"http://www.mininova.org/search/?search=","\0","Peer to Peer: torrent (mininova)");
AjouterItem(count++,"-","\0",SP_SEPARATEUR);
AjouterItem(count++,"http://www.google.com/search?q=link%3A","\0","Outils: lien (url)");
AjouterItem(count++,"http://www.google.com/addurl?q=","&dqq=","Outils: ajout de lien (url)");
AjouterItem(count++,"http://www.google.com/search?q=related%3","\0","Outils: lien raconté (url)");
AjouterItem(count++,"http://www.google.com/search?q=site%3","\0","Outils: index lien (url)");
AjouterItem(count++,"-","\0",SP_SEPARATEUR);
AjouterItem(count++,"http://www.google.com/search?q=intitle%3A%22Index+of%22+passwords+modified+site%3A","\0","Hack mdp: intitle");
AjouterItem(count++,"http://www.google.com/search?q=allinurl%3Aauth_user_file.txt+site%3A","\0","Hack mdp: allinurl,auth_user_file.txt");
AjouterItem(count++,"http://www.google.com/search?q=inurl%3Apasslist.txt&btnG=Search+site%3A","\0","Hack mdp: inurl,passlist.txt");
AjouterItem(count++,"http://www.google.com/search?q=%22%23+-FrontPage-%22+inurl%3Aservice.pwd+site%3A","\0","Hack mdp: FrontPage,inurl,service.pwd");
AjouterItem(count++,"http://www.google.com/search?q=intitle%3A%22Index+of%22+config.php+site%3A","\0","Hack mdp: intitle,Index of,config.php");
AjouterItem(count++,"http://www.google.com/search?q=%22http%3A%2F%2F*%3A*%40%22","\0","Hack mdp: http");
AjouterItem(count++,"-","\0",SP_SEPARATEUR);
AjouterItem(count++,"http://www.google.com/translate?langpair=fr|en&u=","\0","Proxy: traduction");
AjouterItem(count++,"http://www.google.com/gwt/n?u=http%3A%2F%2F","%2F","Proxy: cache");
AjouterItem(count++,"http://web.archive.org/web/*/","\0","Proxy: cache (url)");
AjouterItem(count++,"-","\0",SP_SEPARATEUR);
AjouterItem(count++,"http://groups.google.fr/groups/search?hl=fr&q=","&qt_s=Rechercher+des+groupes","News groupe");
AjouterItem(count++,"http://blogsearch.google.fr/blogsearch?q=","&um=1&hl=fr&imgsz=icon&ie=UTF-8&sa=N&tab=gb","Blog");
AjouterItem(count++,"http://maps.google.fr/maps?f=q&hl=fr&q=","&btnG=Recherche+Google+Maps","Google Map");
AjouterItem(count++,"http://www.google.fr/search?q=recette+","\0","Recette de cuisine");
AjouterItem(count++,"http://fr.wikipedia.org/wiki/","","Encyclopédie: Wikipedia");
AjouterItem(count++,"-","\0",SP_SEPARATEUR);
AjouterItem(count++,"http://www.cdiscount.com/search/","/sa-10.html","Achat: Cdiscount");
AjouterItem(count++,"http://www.grosbill.com/catv2.cgi?recherche=","&x=0&y=0&mode=recherche","Achat: Grosbill");
AjouterItem(count++,"http://www.priceminister.com/?action=se&kw=","&category=sa&submitbtn=","Achat: Priceminister");
AjouterItem(count++,"http://www.surcouf.com/Recherche/ResultatRecherche.aspx?search=","\0","Achat: Surcouf");
AjouterItem(count++,"http://www.ldlc.com/navigation/recherche2.html?motcle=","\0","Achat: Ldlc");
AjouterItem(count++,"http://search.rueducommerce.fr/shared/recherche/index.cfm?recherche=","&prix=&trix=1&typetrix=DESC&bound=20&schcid=","Achat: RueDuCommerce");
AjouterItem(count++,"http://www3.fnac.com/search/quick.do?Origin=FnacAff&text=","&category=all&x=0&y=0","Achat: FNAC");
AjouterItem(count++,"http://search.ebay.fr/search/search.dll?query=","&MfcISAPICommand=GetResult&ht=1&ebaytag1=ebayreg&srchdesc=n&maxRecordsReturned=30000&maxRecordsPerPage=500&SortProperty=MetaEndSort","Achat: Ebay");
AjouterItem(count++,"http://www.amazon.fr/s/url=search-alias%3Daps&field-keywords=","&Go.x=13&Go.y=10&Go=Go","Achat: Amazone");
AjouterItem(count++,"http://www.alapage.com/-/MultiRecherche?choix=fulltext&ap=1&pos=2&cat=&default=Recherche&fulltext=","&type=0","Achat: Alapage");
AjouterItem(count++,"http://www.google.com/search?q=","&btnG=Search&q=%28&q=cdiscount.com+%7C&q=grosbill.com+%7C&q=priceminister.com+%7C&q=surcouf.com+%7C&q=ldlc.com+%7C&q=rueducommerce.fr+%7C&q=fnac.com+%7C&q=ebay.fr+%7C&q=amazon.fr+%7C&q=alapage.com+%7C&q=%29","Achat: Tous");
AjouterItem(count++,"-","\0",SP_SEPARATEUR);
AjouterItem(count++,"http://www.google.com/translate_dict?q=","&hl=fr&langpair=en%7Cfr","Traduction: Anglais->Français");
AjouterItem(count++,"http://www.google.com/translate_dict?q=","&hl=fr&langpair=fr%7Cen","Traduction: Français->Anglais");
AjouterItem(count++,"http://www.google.com/translate?u=http%3A%2F%2F","&langpair=en%7Cfr&hl=fr&ie=UTF8","Traduction: Anglais->Français (URL)");
AjouterItem(count++,"-","\0",SP_SEPARATEUR);
AjouterItem(count++,"http://search.msdn.microsoft.com/Default.aspx?locale=en-US&Query=","&Brand=msdn","Programmation: MSDN");
AjouterItem(count++,"http://www.cppfrance.com/recherche.aspx?r=","\0","Programmation: CPPfrance");
AjouterItem(count++,"http://www.google.com/custom?hl=fr&cof=S%3Ahttp%3A%2F%2Fwww.developpez.com%3BL%3Ahttp%3A%2F%2Fwww.developpez.com%2Ftemplate%2Flogo.gif%3B&domains=developpez.com%3Bdeveloppez.net&q=","&btnG=Rechercher&sitesearch=developpez.com","Programmation: Développez");
AjouterItem(count++,"http://www.codeproject.com/info/search.aspx?artkw=","\0","Programmation: Codeproject");
AjouterItem(count++,"-","\0",SP_SEPARATEUR);
AjouterItem(count++,"http://www.animenfo.com/search.php?query=","&queryin=anime_titles&action=Go&option=keywords","Anime/Manga: animenfo");
AjouterItem(count++,"http://www.bedetheque.com/index.php?R=1&RechTexte=","&btRecherche=OK&RechSerie=&RechAuteur=&RechEditeur=&RechCollection=&RechStyle=&RechDL=&RechISBN=","Bds: bedetheque");
//sélection du premier choix
SendMessage(HComboBox,CB_SETCURSEL,(WPARAM )0,(LPARAM )0);
//enregistrement dans le fichier ini
tmpcout[0]=0;
count--;
WritePrivateProfileString(CONF,"COUNT",itoa(count,tmpcout,10),Emplacement);
while(count>-1)
{
sprintf(tmpTitre1,"URL_DEBUT%02d",count);
sprintf(tmpTitre2,"URL_FIN%02d",count);
sprintf(tmpTitre3,"TITRE%02d",count);
WritePrivateProfileString(CONF,tmpTitre1,MesUrls[count].DebutUrl,Emplacement);
WritePrivateProfileString(CONF,tmpTitre2,MesUrls[count].FinUrl,Emplacement);
WritePrivateProfileString(CONF,tmpTitre3,TitreItem(count,tmp_bloc3,TAILLE_MAX_TITRE+1),Emplacement);
count--;
}
}
return 0;
}
//******************************************************************************
//fct de traitement
DWORD WINAPI Exec(LPVOID lParam)
{
unsigned int id = (unsigned int)lParam;
char tmpcommande[TAILLE_MAX_CMD];
char tmp[TAILLE_MAX_URL+1];
EnableWindow(Hbouton,0);
//récupération de la recherche
tmp[0]=0;
GetWindowText(HText,tmp,TAILLE_MAX_URL);
if(MesUrls[id].DebutUrl[0]!='-')//le caractère --- spécifie un titre
{
//si un espace on converti par un +
char *t = tmp;
while(*t)
{
if (*t==' ')*t='+';
*t++;
}
//création de la requête
snprintf(tmpcommande,TAILLE_MAX_CMD,"%s%s%s",MesUrls[id].DebutUrl,tmp,MesUrls[id].FinUrl);
//exécution
ShellExecute(NULL,"Open",tmpcommande, NULL, NULL, SW_SHOWNORMAL);
}
EnableWindow(Hbouton,1);
return 0;
}
//******************************************************************************
//gestion des messages
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
if (message == WM_COMMAND && (LOWORD(wParam) == MSB_BOUTON || LOWORD(wParam) == IDOK) || message==WM_KEYDOWN && wParam == VK_RETURN)
{
CreateThread(0,0,Exec,(LPVOID)SendMessage(HComboBox,CB_GETCURSEL,(WPARAM )0,(LPARAM )0),0,0);
}
else if (message == WM_DESTROY)PostQuitMessage (0);
else return DefWindowProc (hwnd, message, wParam, lParam);
return 0;
}
//******************************************************************************
//création de la fenêtre principale
int WINAPI WinMain (HINSTANCE hThisInstance,HINSTANCE hPrevInstance,LPSTR lpszArgument,int nFunsterStil)
{
MSG messages;
WNDCLASS wincl;
HWND hwnd;
INITCOMMONCONTROLSEX icex;
icex.dwSize = sizeof(INITCOMMONCONTROLSEX);
icex.dwICC = ICC_USEREX_CLASSES;
InitCommonControlsEx(&icex);
wincl.style = CS_HREDRAW | CS_VREDRAW;
wincl.lpfnWndProc = WindowProcedure;
wincl.cbClsExtra = 0;
wincl.cbWndExtra = 0;
wincl.hInstance = Hinst = hThisInstance;
wincl.lpszMenuName = "";
wincl.lpszClassName = NOM_APPLI;
wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;
//chargement des icones (via les ressources)
wincl.hIcon = (HICON)LoadIcon(hThisInstance, MAKEINTRESOURCE(A));
wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
//on crée la classe (on l'enregistre)
if(!RegisterClass(&wincl)) return FALSE;
//création de la fenêtre
hwnd = CreateWindow(NOM_APPLI,NOM_APPLI,WS_OVERLAPPED| WS_SYSMENU,CW_USEDEFAULT, CW_USEDEFAULT, 400, 100,0, 0, hThisInstance, 0);
if (!hwnd) return FALSE;
//création des éléments
Hbouton = CreateWindow("BUTTON","Rechercher",WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON ,290,45,90 ,23 , hwnd, (HMENU )MSB_BOUTON, hThisInstance, NULL);
HText = CreateWindow("EDIT", "",WS_BORDER |WS_CHILD |WS_VISIBLE|ES_LEFT ,10,9, 370, 23, hwnd, NULL, hThisInstance, NULL);
HComboBox= CreateWindow(WC_COMBOBOXEX,"",CBS_DROPDOWN | CBS_DROPDOWNLIST | CBS_SIMPLE | WS_CHILD | WS_OVERLAPPED | WS_VISIBLE,10,45, 260, 200, hwnd, NULL, hThisInstance, NULL);
CreateThread(0,0,Chargement,0,0,0);
//afficher la fenêtre
ShowWindow (hwnd, nFunsterStil);
UpdateWindow(hwnd);
//appliquer le focus par défaut sur l'item
SetFocus(HText);
while (GetMessage (&messages, NULL, 0, 0))
{
if (!IsDialogMessage(hwnd, &messages))
{
TranslateMessage(&messages);
DispatchMessage(&messages);
}
}
return messages.wParam;
}
Historique
- 13 avril 2008 15:09:02 :
- - correction
- 16 avril 2008 12:50:37 :
- - sauvegarde dans fichier ini+ news urls
- 16 avril 2008 12:53:51 :
- - ajout du zip
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
je recherche iphlpapi.lib [ par warmup1992 ]
Salut à tous,je fais appelle a vous car je cherche cette librairie -> iphlpapi.lib...J'ai fais les 10 premières pages de google en tapan "iphlpap
API de Google Desktop search [ par samar22 ]
bonjour, je veux faire appel au moteur de recherche locale "Google desktop search" dans ma propre application, il faut que je dispose de se
Pb de mémoire:recherche de méthodes [ par alexandre7g ]
Bonjour,Je programme en C++ sous VS2005.J'ai un pb d'allocation de ma table des méthodes (il me semble):lorsque j'appel un méthode depuis un pointeur
recherche de programmes client/serveur multithreads [ par cut44 ]
Bonjour, je recherche des exemples assez simples de serveur multiclients (multithreads). J'utilise devC++ et la bibliotheque pthread car j'ai l'intent
code htlm ou java ??? [ par cemidyal ]
bonjours a tous voila je debute dans le htlm et je sreer un moteur de recherche http://celimidyal.chez-alice.fr/essai/Untitled-1.htmlma
Recherche personne pour m'aider a etablir un "plan" pour la conception d'un jeu video en 3D [ par yoshi94 ]
Bonjour a tous.Je recherche quelqu'un qui pourrais m'aider a etablir une sorte de structure de classe pour refaire proprement un jeux que j'ai deja fa
Recherche de la plus grand valeur dans une liste chainée [ par doudou0088 ]
Bonjour, J'ai une liste chainé contenant une valeur entière pour chaque élément (environ 96 éléments). J'aimerai affiché l'entier le plus grand de cet
classe Watcher [ par Spiky33 ]
Bonjour, Je suis à la recherche d'une librairie qui permettrer d'écoute les intéruptions du disque dur (création de fichier, suppression, modification
recherche au fur et a mesure de la saisie clavier [ par mootmoot ]
Bonjour à tous et à toutes et merci de vous arreter sur ma question.Voila je suis etudiant en BTS IRIS (informatique et reseau de l'industrie et des s
|
Derniers Blogs
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|