UEStudio est un très bon éditeur, mais il lui manque cruellement une fonction de mise à jour automatique. Voici donc un petit bout de programme que vous pourrez placer dans votre menu Démarrage afin de vérifier les mises à jour UEStudio à chaque démarrage de Windows !
Vous pouvez télécharger la version compilée ici : http://alex.mwyann.com/divers/uesuc.exe. Si vous êtes parano, ou si vous n’avez pas installé UEStudio dans le dossier par défaut (C:\Program Files\IDM Computer Solutions\UEStudio) alors voici le code source original que vous pourrez utiliser pour compiler votre propre exécutable (j’utilise Delphi 7).
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, ScktComp; type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Timer1: TTimer; ClientSocket1: TClientSocket; procedure Timer1Timer(Sender: TObject); procedure FormShow(Sender: TObject); procedure ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); private { Déclarations privées } public { Déclarations publiques } end; var Form1: TForm1; implementation var answer:string; currentver,latestver:string; {$R *.dfm} procedure TForm1.Timer1Timer(Sender: TObject); begin if (latestver <> '') and (latestver = currentver) then Application.Terminate; end; procedure TForm1.FormShow(Sender: TObject); var c,pval:pointer; pvalsize:cardinal; size:word; begin ClientSocket1.Active:=true; size:=GetFileVersionInfoSize('C:\Program Files\IDM Computer Solutions\UEStudio\UEStudio.exe',pvalsize); getmem(c,size); GetFileVersionInfo('C:\Program Files\IDM Computer Solutions\UEStudio\UEStudio.exe',pvalsize,size,c); VerQueryValue(c,'\StringFileInfo\040904E4\FileVersion',pval,pvalsize); currentver:=StrPas(pval); freemem(c); Label2.Caption:='Current: '+currentver; end; procedure TForm1.ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); var s:string; begin answer:=''; s:= 'GET /updates/uestudio/uesupdates2 HTTP/1.1'#13#10+ 'User-Agent: Microsoft Internet Explorer'#13#10+ 'Host: www.ultraedit.com'#13#10+ 'Connection: Keep-Alive'#13#10+ #13#10; Socket.SendText(s); end; procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); var i:word; s:string; begin answer:= answer+Socket.ReceiveText; if (pos('download',answer) > 0) then begin i:=pos('hotfix',answer); if (i = 0) then i:=pos('version',answer); s:=copy(answer,i+7,40); i:=pos('=',s); s:=copy(s,i+1,40); i:=pos('|',s); latestver:=copy(s,1,i-1); Label3.Caption:='Latest: '+latestver; if (latestver = currentver) then Label1.Caption := 'No update found.' else Label1.Caption := 'New update found!'; end; end; end.