begin process at 2010 02 09 23:51:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

J'AI BESOIN D'AIDE !!!! :O

 > 

Chargement Dll


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Chargement Dll

jeudi 28 juillet 2005 à 00:57:35 | Chargement Dll

PoulpHunter

Bonjours, je débute et j'aimerais charger une dll comme sa :

function SongOff():Boolean;  external 'msnmusic.dll' name 'SongOff';

mais cela me cause une violation d'accés dans la dll
la source de la dll se compose ainssi :

int __declspec(dllexport) __stdcall SongOff(HWND mWnd, HWND aWnd, char *data, char *parms, BOOL show, BOOL nopause) {

je suppose que l'erreur viens des paramétres...
quelle est la bonne syntax please ?

c'est la dll msnmusic téléchargeable ici : [ Lien ]
(sa sert a changer le nick dans [ce que j'écoute] de MSN)
jeudi 28 juillet 2005 à 08:14:59 | Re : Chargement Dll

jinh68

Membre Club
Réponse acceptée !
Salut,

Dans ton prog, essaye de la déclarer de la manière suivante :

function SongOff(mWnd, aWnd: HWND; data,parms: PChar; show, nopause: Boolean): integer;stdcall; external 'msnmusic.dll';




j!nH
jeudi 28 juillet 2005 à 13:16:50 | Re : Chargement Dll

PoulpHunter

Mercie la syntaxe est surement bonne mais pourrais tu me dire quelle est la syntaxe des paramétres de cette fonction car je n'ais aucune idée de ce qu'ils désignent dans la dll
c'est à dire que je n'arrive pas à l'utiliser il faudrait savoir ce que sont 'mWnd', 'aWnd'

aprés avoir recherché sur ce site j'ai vu que c'est la syntax des dll pour MIRC...
http://www.delphifr.com/code.aspx?ID=12114

aussi j'ai trouvé :

function ProcName( mWnd: hWnd; aWnd: hWnd; Data: PChar; Parms: PChar;
Show: Boolean; NoPause: Boolean ): Integer; export; stdcall;
begin

end;

What the params mean are:
mWnd -> The handle of the main mirc window
aWnd -> The handle of the window the command is being issued in [*]
Data -> The data being passed to the DLL. The DLL can then alter and pass data back to mIRC.
Parms -> When passing data back to mIRC, fill this with the parms of the command passed in Data.
Show -> Returns FALSE if the "." prefix was used to make the command QUIET, else returns True.
NoPause-> Returns TRUE if mIRC is in a critical routine and the DLL must not delay processing. ex: The DLL must not popup a dialog, or something that waits for a response from user.


ben je crois que je laisse tomber, je vais plutot essayer de réécrire à partir des api utilisées...
Mercie de ton aide.

jeudi 28 juillet 2005 à 14:21:44 | Re : Chargement Dll

jinh68

Membre Club
Réponse acceptée !
Si tu veux changer le titre de la musique que tu écoutes sous MSN, j'ai ce code si tu veux(j'espère ne pas être HS).


procedure CurrentPlay(ARTIST,ALBUM,TITLE:string);
var
  handleMSN    : THandle;
  structCopy  : TCopyDataStruct;
  stringBuffer : array [0..127] of WideChar;
begin

    FillChar(stringBuffer,SizeOf(stringBuffer),#0);


    StringToWideChar('\0Music\0'+'1'+'\0'+'{0} - {1}'+'\0'+ARTIST+'\0'+TITLE+'\0'+ALBUM+'\0'+'WMContentID'+#0,@stringBuffer[0],128);


    FillChar(structCopy,SizeOf(TCopyDataStruct),#0);
    with structCopy do
    begin
      cbData := SizeOf(stringBuffer);
      dwData := $547;
      lpData := @stringBuffer[0];
    end;


    handleMSN := FindWindowEx(0,0,'MsnMsgrUIManager',nil);
    while handleMSN <> 0 do
    begin
      SendMessage(handleMSN,WM_COPYDATA,0,Integer(@structCopy));
      handleMSN:=FindWindowEx(0,handleMSN,'MsnMsgrUIManager',nil);
    end;
end;


A savoir que tu peux remplace Music par Games ou Office pour changer l'icone.

j!nH
jeudi 28 juillet 2005 à 22:25:34 | Re : Chargement Dll

PoulpHunter

C'est exactement ce que je cherchais !!!
Mercie c cool !

jeudi 28 juillet 2005 à 23:10:41 | Re : Chargement Dll

PoulpHunter

J'ai ajouté le choix de l'icone dans les paramétres...
Sa marche d'enfer mais j'ai essayer de remplacer Music par Empty mais sa a pas marché, domage...
Je crois que sa ne marche qu'avec une certaine version d'MSN...
Sinon en fait j'ai voulu ce code pour faire défiler le titre de la zik ou un fichier texte...
Jvais voir si sa marche (si les autres le voyent en temps réel) et posteré ma réponse ici...

procedure CurrentPlay(ARTIST,ALBUM,TITLE:string;icone:integer);
var
  handleMSN    : THandle;
  structCopy  : TCopyDataStruct;
  stringBuffer : array [0..127] of WideChar;
  icones: string;
begin

    FillChar(stringBuffer,SizeOf(stringBuffer),#0);
// Si icone vaut 0 alors MSN Ce que j'écoute sera désactivé
// Si icone:=1   =>  icone Music
// Si icone:=2   =>  icone Games
// Si icone:=3   =>  icone Office
    icones:='Music';
    if icone>=2 then
      begin
      icones:='Games';
        if icone=3 then
        icones:='Office';
      icone:=1;
    end;
    StringToWideChar('\0'+icones+'\0'+inttostr(icone)+'\0'+'{0} - {1}'+'\0'+ARTIST+'\0'+TITLE+'\0'+ALBUM+'\0'+'WMContentID'+#0,@stringBuffer[0],128);

    FillChar(structCopy,SizeOf(TCopyDataStruct),#0);
    with structCopy do
    begin
      cbData := SizeOf(stringBuffer);
      dwData := $547;
      lpData := @stringBuffer[0];
    end;


    handleMSN := FindWindowEx(0,0,'MsnMsgrUIManager',nil);
    while handleMSN <> 0 do
    begin
      SendMessage(handleMSN,WM_COPYDATA,0,Integer(@structCopy));
      handleMSN:=FindWindowEx(0,handleMSN,'MsnMsgrUIManager',nil);
    end;
end;

vendredi 29 juillet 2005 à 05:35:03 | Re : Chargement Dll

PoulpHunter

Ben voila j'ai pas résisté, sa marche trop bien
j'en ai fait une source...
http://www.delphifr.com/code.aspx?ID=32946


Cette discussion est classée dans : chargement, dll, hwnd, songoff, msnmusic


Répondre à ce message

Sujets en rapport avec ce message

pb chargement DLL : dbexpinf.dll [ par deubal ] Bonjour tous le monde, Voila, j'utilise DB EXPRESS, et lorsque que je lance mon projet il me dit "Impossible de charger la DLL : dbexpinf.dll". Si que Chargement de DLL [ par barbichette ] Salut,J'ai un petit souci. Je ne sais pas si c'est possible de faire marcher ceci :- J'ai une DLL qui charge le contenu d'un fichier dans un tableau [ Erreur de chargement de la DLL [ par jldk007 ] BonjourJe dispose d'un Windows XP Familiale SP2 et d'Office XP Pro. Je n'arrive pas à afficher la boite de dialogue du masque de saisie dans MS ACCESS chargement DLL dynamique avec fonctions [ par christophedlr ] Bonsoir à tous,Dans mon logiciel, je prévois plusieurs langues possibles par fichiers DLL.J'ai trouvé sur delphipage, un moyen de charger dynamiquemen Problème de chargement de DLL [ par Toya78 ] Bonjour à tous, Après avoir lu plusieurs articles sur les DLL et leur utilisation, je me retrouve face à un dilemne. J'ai lu qu'il existait un "confli Libérer CreateOleObject [ par Tropic ] J'ai une procédure pour savoir si une DLL est enregistréemais je narrive pas à la libérer par la suiteJe précise que c'est une procédure Inno Setup, m stocker valeur ordinale dans dll [ par Guillemouze ] Salut a tous,voila ma situation : j'ai une application qui, selon son parametrage, charge une dll parmi un ensemble de dll possibles, afin de personna Indy SSL POP3 ou SMTP sans Form (dans une dll) : erreur sur IdSSLIOHandlerSocket dans le uses [ par vampirep ] Alors, j'utilise Indy 9, Delphi 6 (je débute dans ce language pour me faire une DLL)en gros lorsque le met IdSSLIOHandlerSocket dans le uses, j'ai une Progress bar pour aperçu chargement DBGrid [ par orelien ] Bonjour,J'ai crée un programme utilisant une base paradox sur laquelle est appliqué de multiples requêtes en SQL.Certaines d'entre elles peuvent s'éxé simuler un clic bouton [ par RV07 ] bonjour à tous et très bonne année 2007 j'aimerai simuler le clic d'un bouton de mon appli. pour cela je pense qu'il faut utiliser sendmessage ou post


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,374 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales