Accueil > Forum > > > > Actualisation Refresh.exe
Actualisation Refresh.exe
mercredi 7 mai 2008 à 17:07:45 |
Actualisation Refresh.exe

Celestus
|
Bonjour à tous. Je suis un petit newbie qui parcours humblement ce forum à l'aide d'un problème si simple pour vous que vous en rirez... Je ne suis pas programmeur, donc je n'y comprends pas grand chose. Je fais essentiellement des scripts en batch windows, ça m'aide à installer mes programmes plus facilement et plus clairement. Mais le batch windows est assez pauvre. Pour créer des raccourcis, j'utilise un programme qui s'appelle shortcut.exe. Mon problème, c'est que j'ai besoin d'actualiser le bureau via une commande batch. - J'ai cherché dans les commandes => Rien - J'ai cherché dans les arguments d'explorer.exe => Rien - J'ai pas trouvé de dll qui fasse ça non plus, il en existe peut-être une, si quelqu'un la connait, merci de me répondre, ce serait super sympa. Bref, j'ai entendu parler d'un petit programme nommé refresh.exe qui permettait de rafraichir le bureau tout simplement, et qu'on pouvait trouver sur ce site. Quelqu'un sait-il où se trouve ce programme ? Sinon, quelqu'un pourrait-il me le coder svp ? Si ça ne vous prend pas trop de temps bien entendu...
|
|
mercredi 7 mai 2008 à 17:31:36 |
Re : Actualisation Refresh.exe

Celestus
|
C'est bon, no problème, j'ai trouvé... Un type m'a renseigné sur un autre forum...
"%windir%\System32\RUNDLL32.EXE" user32.dll,UpdatePerUserSystemParameters
Plus besoin de source...
@+
|
|
jeudi 8 mai 2008 à 03:09:23 |
Re : Actualisation Refresh.exe

Celestus
|
Et ben non.
En fait ça marche pas du tout.
Mon truc actualise certaines choses comme le wallpaper, mais depuis que Kro a viré la fonction repaintscreen de user.dll, pas moyen.
Si vous avez une solution pour le faire en vbs, je suis preneur.
Sinon il y a une solution ici. http://blogs.sepago.de/helge/2007/11/22/free-tool-refresh-the-desktop-programmatically/
|
|
jeudi 8 mai 2008 à 03:39:25 |
Re : Actualisation Refresh.exe

Celestus
|
Son utilitaire pourri, en plus d'être lent, ne fonctionne pas. desktoprefresh.exe n'actualise que le bureau, pas le reste. Ca sert à rien en fait.
Le seul moyen est de killer l'explorer avec taskkill /f /IM explorer.exe start %WinDir%\explorer.exe
Je vais me pencher sur la question voir si je trouve autre chose. Après tout, si le bouton "appliquer" peut le faire, c'est que c'est faisable.
|
|
vendredi 9 mai 2008 à 15:23:51 |
Re : Actualisation Refresh.exe

jfrancois
|
Bonjour,
Essayer avec ce petit programme (en tant qu'utilitaire dans le batch) :
#include <windows.h> int WINAPI WinMain ( HINSTANCE hInstance // E:instance courante ,HINSTANCE hInstancePrev // E:instance précédente ,LPSTR pszCommandLine // E:ligne de commande ,int iDisplay // E:mode d'affichage ) // S:code retour { // --- Lire le handle du "program manager" HWND hProgMan = FindWindow("progman",NULL);
// --- Poster l'appui sur la touche F5 (rafraîchir) if (hProgMan) PostMessage(hProgMan,WM_KEYDOWN,VK_F5,0); return 0; }
Jean-François
|
|
vendredi 9 mai 2008 à 15:52:08 |
Re : Actualisation Refresh.exe

jfrancois
|
Ou même sans passer par un programme de type Application Windows mais plus simplement de type Console (testé sous Microsoft Visual C++ 6.0) : #include <windows.h> int main(void) { // --- Lire le handle du "program manager" HWND hProgMan = FindWindow("progman",NULL);
// --- Poster l'appui sur la touche F5 (rafraîchir) if (hProgMan) PostMessage(hProgMan,WM_KEYDOWN,VK_F5,0); return 0; }
Jean-François
|
|
vendredi 9 mai 2008 à 18:15:59 |
Re : Actualisation Refresh.exe

Celestus
|
J'ai compilé et essayé tes programmes, ça ne marche pas.
Ton programme mime la touche F5 qui actualise uniquement le bureau, c'est à dire le wallpaper uniquement.
Il y a 36 moyens de faire ça, en vbs, en batch avec la fonction de user32.dll UpdatePerUserSystemParameters, j'ai déjà essayé.
Actualiser l'explorer.exe est bien différent.
Pour m'entraîner en batch, je m'amuse à faire des scripts. Le problème se pose ici avec un script pour actualiser directement les fichiers cachés. En voici le code (désolé c'est en chantier mais ça marche).
J'ai bien peur qu'il n'existe aucune méthode, car il existait avant la fonction repaintscreen de user.dll sur les anciennes version de Windows.
Mais depuis Windows NT4, Microsoft a supprimé cette fonction et a verrouillé son explorer.exe. Par sécurité ?
Bref, ma dernière piste actuelle est de trouver les fonctions d'une dll qui aurait celle-ci, seulement il faut être inscrit à la MSDN en tant que développeur pour avoir accès à ces données. Si quelqu'un peut m'aider... Son aide sera plus que bienvenue.
@echo off cls REM Script standard de paramètrage du registre de Windows REM Non compatible pour les versions plus anciennes que Windows XP
REM Ce script est fait pour être évolutif sans avoir à en modifier le corps
REM Vous pouvez rajouter autant de données que vous le voulez à la suite REM en ajoutant un autre groupe : key_1 key_2 key_2 etc. REM mais attention, la comparaison se fera toujours sur key_1
REM ________________________________________________________________ REM Description du script :
REM Sert à masquer ou démasquer les REM fichiers cachés de Windows
REM ________________________________________________________________ REM Tête du script (Head) : Seule cette partie doit être changée
REM ****************************************** set add_registry_loop=0 : head_1
REM Boucle d'exécution du script pour que toutes REM les valeurs successives soient prises en compte set /a add_registry_loop=%add_registry_loop% + 1
REM Ajoutez ici le nombre de clés à modifier en rajoutant des lignes REM (Il doit y avoir autant de lignes que de "key_?") if "%add_registry_loop%" EQU "1" goto key_1 if "%add_registry_loop%" EQU "2" goto key_2 if "%add_registry_loop%" EQU "3" goto exit
cls echo. echo. echo. echo Erreur de ce script dans la boucle de redondance. echo. echo Par s,curit,, il va donc s'arr^ter. echo. echo. echo. echo Appuyez sur une touche pour fermer ce script... pause>nul exit
REM ****************************************** REM Données utiles à l'exécution du script
REM Clé(s), valeur(s), type(s) et donnée(s) du registre à créer, modifier REM On mettra la description en dessous de la donnée REM Attention, la syntaxe de la donnée doit correspondre au type REM (On mettra toujours les DWORD en hexadécimal avec 0x devant)
: key_1 set add_registry_key=HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced set add_registry_value=Hidden set add_registry_type=REG_DWORD set add_registry_data_1=0x00000000 REM Donnée à 0 = Fichiers cachés invisibles set add_registry_data_2=0x00000001 REM Donnée à 1 = Fichiers cachés visibles goto head_2
: key_2 set add_registry_key=HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced set add_registry_value=SuperHidden set add_registry_type=REG_DWORD set add_registry_data_1=0x00000000 REM Donnée à 0 = Fichiers super-cachés invisibles set add_registry_data_2=0x00000001 REM Donnée à 1 = Fichiers super-cachés visibles goto head_2
REM Rien à faire ici ce bloc ! Penser à le virer REM Clé(s) et valeur(s) du registre à supprimer
REM : key_del_1 REM del_registry_key= REM On met "REM" car il n'y en a aucune
REM ****************************************** : head_2 REM Switchs, aiguillages du reste du script
REM Rajouter un "faut-il détécter la version de Windows"
REM Faut-il détécter la donnée d'une clé de registre ? REM (0 = Non) (1 ou + = Oui) set registry_match=1
REM Faut-il supprimer des clés de registre ? REM (0 = Non) (1 ou + = Oui) set registry_delete=0
REM ________________________________________________________________ REM Corps du script
REM ****************************************** REM Détection de la version de Windows
REM On détecte la version de Windows à la nature du dossier de tous les utilisateurs REM Ce sera "Documents and Settings" pour XP et "ProgramData" pour Vista REM Cette donnée est contenue dans la variable d'environnement "ALLUSERSPROFILE"
if "%ALLUSERSPROFILE%"=="C:\Documents and Settings\All Users" goto windows_xp if "%ALLUSERSPROFILE%"=="C:\ProgramData" goto windows_vista goto windows_error
: windows_xp set os_version=xp goto body_1
: windows_vista set os_version=vista goto body_1
: windows_error cls echo. echo. echo. echo Ce script n'a pas r,ussi . d,tecter votre version de Windows. echo. echo Par s,curit,, il va donc s'arr^ter. echo. echo. echo. echo Appuyez sur une touche pour fermer ce script... pause>nul exit
REM ****************************************** : body_1 REM Détection de l'existence des éléments du script
REM if exist, si clé registre n'existe pas, proposer de les créer REM à continuer
REM ****************************************** REM Accomplissement des tâches
REM --------------------------- REM Aiguillage vers la détection d'une donnée du registre
REM Si le switch de comparaison de valeurs de registre est REM activé (supérieur ou égal (GEQ) à 1), aller à l'indicateur REM nommé "body_2", sinon, aller directement à REM l'indicateur nommé "body_3"
if "%registry_match%" GEQ "1" goto body_2 goto body_3
REM --------------------------- : body_2 REM Détection d'une donnée du registre :
REM Ajout d'une clé de registre temporaire avec une donnée connue reg add "%add_registry_key%_temp" /v "%add_registry_value%" /t "%add_registry_type%" /d "%add_registry_data_1%" /f >nul
REM Comparaison de la donnée d'une même valeur REM pour la clé existante avec la clé temporaire REM Le résultat est automatiquement stocké dans la variable "ERRORLEVEL" REM %ERRORLEVEL% = 0 => Résultats identiques, la donnée est la même REM %ERRORLEVEL% = 2 => Résultats différents, les données sont différentes REM %ERRORLEVEL% = 1 => Echec de la comparaison, une des données n'existe pas reg compare "%add_registry_key%" "%add_registry_key%_temp" /v "%add_registry_value%" >nul
REM On sauve le résultat dans une variable car ERRORLEVEL REM est remise à 0 à chaque commande set error_level=%ERRORLEVEL%
REM On efface la clé temporaire reg delete "%add_registry_key%_temp" /f >nul
REM On définit l'aiguillage pour l'alternance des différents choix if "%error_level%"=="0" goto add_registry_data_1 if "%error_level%"=="2" goto add_registry_data_2 if "%error_level%"=="1" goto add_registry_data_2 cls echo. echo. echo. echo Ce script n'a pas r,ussi . d,tecter la cl, de registre echo n,cessaire . son ex,cution echo. echo Par s,curit,, il va donc s'arr^ter. echo. echo. echo. echo Appuyez sur une touche pour fermer ce script... pause>nul exit
REM --------------------------- REM Alternance de changement des clés de registre
: add_registry_data_1 reg add "%add_registry_key%" /v "%add_registry_value%" /t "%add_registry_type%" /d "%add_registry_data_2%" /f >nul goto body_3
: add_registry_data_2 reg add "%add_registry_key%" /v "%add_registry_value%" /t "%add_registry_type%" /d "%add_registry_data_1%" /f >nul
REM --------------------------- : body_3 REM
REM ________________________________________________________________ REM Queue du script
goto head_1
: exit
REM "%WINDIR%\system32\rundll32.exe" user32.dll,RepaintScreen ne marche pas. REM trouver un autre moyen...
REM Création d'un fichier .vbs REM Ne pas oublier de mettre des ^devant des caractères comme & ou | rem echo Set WSHShell = CreateObject("WScript.Shell") >refresh.vbs rem echo WshShell.SendKeys "{F5}" >>refresh.vbs
REM seul moyen actuellement rem taskkill /f /IM explorer.exe rem start %WinDir%\explorer.exe
REM essayer de trouver des points d'entrée dans user32.dll avec dumpbin du compilateur visual C REM en tapant dumpbin /exports user32.dll ou link /dump /exports user32.dll pour obtenir des noms de fonctions
cls exit
|
|
dimanche 11 mai 2008 à 22:23:53 |
Re : Actualisation Refresh.exe

basted
|
Bonjour,
dans le cas general voici comment faire: - recherhcer le PID de l'explorer.exe (enumeration des fenetre et filtrage par type) => HWND - emuler l'envoi de la touche F5: INPUT *input = new INPUT; ZeroMemory(input,sizeof(INPUT)); input->type = INPUT_KEYBOARD; input->ki.wVk = VK_F5; input->ki.dwFlags = 0; int res = SendInput(1, input,sizeof(INPUT)); delete input;
dans ton cas, je crois qu'en fait c'est plus simple HWND hWnd = GetDesktopWindow(); InvalidateRect(hWnd,NULL,NULL);
voici le code complet que j'utilisais a l'epoque: int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
/* InvalidateRect(NULL,NULL,TRUE); InvalidateRect(GetDesktopWindow(),NULL,TRUE); */
// send F5 au bureau ne fonctionne pas // SendMessage(GetDesktopWindow(),WM_KEYDOWN,VK_F5,0);
// sendKey(F5) INPUT *input = new INPUT; ZeroMemory(input,sizeof(INPUT)); input->type = INPUT_KEYBOARD; input->ki.wVk = VK_F5; input->ki.dwFlags = 0; int res = SendInput(1, input,sizeof(INPUT)); delete input;
return 0; }
J'espere que ce marche
@++
|
|
lundi 12 mai 2008 à 01:00:44 |
Re : Actualisation Refresh.exe

Celestus
|
Euh... A sa lecture, j'ai peu que ce prog ne fasse que mimer f5, ce que j'ai déjà tenté. Mais j'ai un problème de compilation (j'utilise Dev C++) [cpp] #include <Windows.h> int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow); /* InvalidateRect(NULL,NULL,TRUE); InvalidateRect(GetDesktopWindow(),NULL,TRUE); */ // send F5 au bureau ne fonctionne pas // SendMessage(GetDesktopWindow(),WM_KEYDOWN,VK_F5,0); // sendKey(F5) INPUT *input = new INPUT; ZeroMemory(input,sizeof(INPUT)); input->type = INPUT_KEYBOARD; input->ki.wVk = VK_F5; input->ki.dwFlags = 0; int res = SendInput(1, input,sizeof(INPUT)); delete input; return 0; } [/cpp] Il me met 17 - expected constructor, destructor, or type conversion before '*' token Euh... Ca veut dire quoi ? 
|
|
lundi 19 mai 2008 à 15:28:15 |
Re : Actualisation Refresh.exe

Celestus
|
J'ai utilisé ça #include <windows.h> int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { InvalidateRect(NULL,NULL,TRUE); InvalidateRect(GetDesktopWindow(),NULL,TRUE); return 0; } Ca marche toujours pas, ça fait pareil que F5... Snif...
|
|
Cette discussion est classée dans : exe, programme, refresh, quelqu, batch
Répondre à ce message
Sujets en rapport avec ce message
DEV C++ -> pr lancer "exe" de mon programme [ par grandebutant ]
svp Sur DEV C++, je voudrais lancer un exe de mon programmeAAAauuuuuuuu seeeeeccccouuurrrr!!Merci aux dieux de la programmation !!
Programme exe [ par r144 ]
Bonjour, je voudrais intégrer dans mon exe un fichier (xxx.template) que je devrais ensuite lire une fois le prog executer.Je pense qu'il faut utilise
Faire tourner un .exe indéfiniment [ par julien20vt ]
Je fais un programme qui doit rester actif constamment sur un PC:Il ne doit rien faire du tout sauf en cas de remontée d'evenements ou il a différente
Pb avec WinExec [ par lysane ]
Bonjour,je voudrais lancé un executable depuis mon programme si je code :WinExec ("monprog.exe", SW_SHOW); celà fonctionne mais mon programme prend de
system() [ par LordBob ]
Bonjour a tous,voilla j'essai de lancer un programme externe au miens, qui est un programme console et qui a me besoin d'argument supplementaire pour
Lancer un exécutable à partir d'un programme C [ par yoyo_du_49 ]
Est-il possible de lancer un exécutable (.exe) à partir d'un programme C en écrivant une instruction particulière dans le main() ?Exemple:lancer exemp
Exportations de fonction EXE --> DLL [ par rclsilver02 ]
Voila. Je suis sur un projet qui pourra gérer des modules. Chaque module se trouver dans une DLL et pourra utiliser des fonction du programme principa
quel programme pour modifier un exe [ par ata100t ]
super neuneu en programmation mais tres curieux, (rester au dos et fichier .bat)je souhaite modifier servudaemon.exe histroire de comprendre comment c
Auto modifier un exe [ par LuckyNut ]
Salut à tous,Un programme peut-il auto modifier son propre .exe ?Si oui comment (sans utiliser de batch) ?Exemple on lance le programme "revoir.exe",
Programme dans un autres comment faire ? O_o [ par oshin ]
Bijour,J'ai un autre petit souci, j'ai un programme .exe que j'ai deja mais dont je ne posséde pas la source et je voudrais savoir si il est possible
Livres en rapport
|
Derniers Blogs
SQL SERVER : QUERY NOTIFICATION OU COMMENT êTRE NOTIFIé DE MODIFICATIONS DE DONNéES CôTé APPLICATIONSQL SERVER : QUERY NOTIFICATION OU COMMENT êTRE NOTIFIé DE MODIFICATIONS DE DONNéES CôTé APPLICATION par christian
Cette fonctionnalité à vue le jour dans Ado.Net 2.0 et s'appuie sur SQL Server 2005 (et plus) même si elle fonctionne avec SQL Server 2000. Le principe de fonctionnement côté applicatif est assez simple, on fournit une requête et lorsque le résultat d...
Cliquez pour lire la suite de l'article par christian [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ?MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ? par junarnoalg
La prochaine session de MyTIC aura lieu à Namur, le 23 mars prochain. Pendant presque une heure, nous parlerons de SharePoint 2010. Voici un aperçu du programme.
Accueil : 17h30 Début de la session : 18h00 - Les nouvelles int...
Cliquez pour lire la suite de l'article par junarnoalg [MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA par cyril
Le deuxième keynote du mix fut très riche en contenu. Internet Explorer 9 Juste un après le lancement de Internet Explorer 8, Microsoft a dévoilé les nouveautés de Internet Explorer 9. Désormais, IE supportera HTML5, SVG et CSS3. L'élément ...
Cliquez pour lire la suite de l'article par cyril
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|