DLL POUR VB/VBA (9)

cs_azerty25 Messages postés 1114 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 6 mai 2007 - 8 déc. 2003 à 07:01
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 17 nov. 2007 à 10:06
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/18494-dll-pour-vb-vba-9

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
17 nov. 2007 à 10:06
Une dll comme tout binaire contient du code interne et/ou des appels externes.
Pour les appels externes, il y a une source de aardman sur cppfrance.
Code interne (appels BIOS ou autre), il faut décompiler.
Afyn Messages postés 608 Date d'inscription samedi 3 août 2002 Statut Membre Dernière intervention 22 décembre 2016
17 nov. 2007 à 09:50
Ce que je voulais dire c'est qu'on fait un appel a une dll -> qui fait des appels au BIOS ...
Peut on indentifier ces appels ?
Peut on faire ces appels directement sans passer par la DLL ?
(en théorie ça doit être possible mais j'ai jamais vu d'exemple)

Bonne journée

Afyn - Navedac
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
17 nov. 2007 à 09:43
Reconstituer le code bien entendu, ça s'appelle décompiler.
Afyn Messages postés 608 Date d'inscription samedi 3 août 2002 Statut Membre Dernière intervention 22 décembre 2016
17 nov. 2007 à 09:28
Bonjour

Et a partir d'une DLL existante win (par exemple winmm.dll) peut on "extraire" les appels -> en asm et reconstituer certaines fonctions de cette DLL ? (à tire decuriosité)

Afyn - Navedac
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
16 nov. 2007 à 17:39
Il y a un winsock.ocx ou machin de ce genre deja dsipo pour VB me semble.
jijidiscover Messages postés 65 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 24 mars 2009
16 nov. 2007 à 17:22
j'ai besoin d'un aytre dll, celui ci permet la recherche d'une hôte sur le réseau à partir de son @IP.
c'est disponible ?
VBEnJ0Y Messages postés 25 Date d'inscription samedi 11 mars 2006 Statut Membre Dernière intervention 5 octobre 2006
7 avril 2006 à 17:25
Waoouuuh ! Ca c'est de la prog, chapeau à toi pour la DLL !

Décidément l'ASM c'est pas pour moi ^^

@+

VBEnJ0Y
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
6 mars 2006 à 22:09
ZED71, tu peux éventuellement essayer ma dll, qui est plus ou moins équivalente à celle de BruNews en ce qui concerne le calcul de la vitesse du processeur:

http://www.vbfrance.com/code.aspx?ID=33376

Mais elle risque de ne pas mieux marcher que la sienne.
zed71 Messages postés 3 Date d'inscription samedi 4 mars 2006 Statut Membre Dernière intervention 6 mars 2006
6 mars 2006 à 21:26
Pour des vieilles machines si, en plus c'est pour une application qui ne nécessite pas un système supérieur.
Nico
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
6 mars 2006 à 10:12
En 2006 on n'a vraiment plus à prendre en charge Win98 et autres antiquités de ce genre.
zed71 Messages postés 3 Date d'inscription samedi 4 mars 2006 Statut Membre Dernière intervention 6 mars 2006
6 mars 2006 à 09:57
Bonjour

J'ai cette clé, mais le problème c'est pour windows 98 antérieur, la clé n'existe pas. Donc je cherche un autre moyen.
Soit à l'aide de la fonction external dll, sinon il a la possibilité de lancer un exe. L'idéal serait un petit exe qui trouve la vitesse du CPU et la met dans le registre au même endroit que dans les autres versions de windows. La clé est
HKEY_LOCAL_MACHINE,HARDWARE\DESCRIPTION\System\CentralProcessor\0', '~MHz'
Ca doit pas être compliqué à faire mais je sais pas faire.
J'ai pas trouvé d'exe qui fasse ça. Finalement ça serait pas mal comme programme, ce serait une sorte de "mise à jour" windows puisque les versions postérieures ont cette clé.

Merci

Nico
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
6 mars 2006 à 09:29
Salut ZED71.

Si tu est un peu plus doué pour lire la base de registre, je devrait pouvoir te trouver une clé qui contient la vitesse du processeur en MHz. Je te l'amène demain.
zed71 Messages postés 3 Date d'inscription samedi 4 mars 2006 Statut Membre Dernière intervention 6 mars 2006
4 mars 2006 à 15:49
Bonjour
Je voudrais utiliser ce dll pour récupérer la vitesse CPU dans u script inno setup.

J'ai mis les lignes suivantes :

function CpuSpeed(): cardinal;
external 'bnCpuSpeedMghz@files:bn2VB.dll stdcall';

Mais ça marche pas, la valeur rendue est 3 au lieu de 900.

Je suis débutant, si quelqu'un peut m'aider.
Merci
Nico
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
31 août 2005 à 11:13
BruNews, encore bravo pour ta dll qui rend la mienne obsolète.

Afyn, pour ce qui est du timer tu peux toujours regardé sur http://www.vbfrance.com/code.aspx?ID=33376.

Mais mon timer consomme en apparence beaucoup d'UC.

Je vérifie en permanence que le temps n'est pas dépassé (en ASM) en tournant sur un sleep(0).

D'après la doc Win32, les Sleep(0) propose à Windows d'executer un trhead de priorité équivalente.

Il peut donc y avoir des dépassements du fait de trheads long...

Le problème d'un timer précis est qu'il faut vérifier en permanence que le temps n'est pas dépassé, d'où forcément une consommation d'UC importante...
Afyn Messages postés 608 Date d'inscription samedi 3 août 2002 Statut Membre Dernière intervention 22 décembre 2016
12 mars 2004 à 19:03
Bon .. et mes tests sur les Timers ... Abandonnés ?
Dommage. (pour moi)

A+
Afyn
Navedac
c3rb3r3 Messages postés 38 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 25 janvier 2006
20 janv. 2004 à 18:52
Réellement une dll très pratique, je te remmercie beaucoup.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
12 déc. 2003 à 17:00
CODE COMPLET DE LA DLL DANS ZIP.
cs_azerty25 Messages postés 1114 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 6 mai 2007
12 déc. 2003 à 06:38
toi aussi tu comprend pas ?! le dll n'est pas en vb, il va pas la mettre ici ! mais par contre, elle est ici en tant que dll pour pouvoir utiliser les fonctions
cs_hakim0 Messages postés 123 Date d'inscription mercredi 27 août 2003 Statut Membre Dernière intervention 12 août 2008 1
11 déc. 2003 à 23:25
mais ou est le Code source?? du DLL
cs_azerty25 Messages postés 1114 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 6 mai 2007
9 déc. 2003 à 09:26
LOl, c'est clair, réfléchissez avant de parler, mais BruNews, tu devrai mettre tes sources sur asmfr comme sa elles seront au bon endroit et on te repocherai pas de ne pas partager ;-)
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
8 déc. 2003 à 20:11
Bon jack je viens de verifier, il y a actuellement 1515 lignes d'ASM pour la DLL, tu penses que VB est l'endroit pour ce genre chose ?
Si je ne me gourre pas, il me semble que VB n'est qu'une suite de scripts qui appellent des modules qui eux contiennent du vrai code executable, que ce soit ceux de sa virtual machine ou nimporte quel autre. Il me semble donc que ce qui est a partager sur vbfrance c'est la maniere de se servir d'un composant depuis vb et non le code source de celui-ci sinon il y aurait peu de sources sur tout le reseau CS mis a part cppfrance et asmfr.
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
8 déc. 2003 à 19:58
Manque toujours la source du DLL ...
Je te rappelle que vbfrance fait partie de "Codes-Sources" et dedans, il y a Source. C'est dommage de ne pas partager ...
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
8 déc. 2003 à 19:08
Je vais faire quelques tests sur ce sujet.
Afyn Messages postés 608 Date d'inscription samedi 3 août 2002 Statut Membre Dernière intervention 22 décembre 2016
8 déc. 2003 à 18:39
Quelle est la précision qu'on pourrait obtenir ? et avec quelle priorité ?
Jusqu'a maintenant, j'arrive à obtenir environ 300 µs avec les API waitable timer, et je me demandais si avec une DLL en asm on pouvait gagner un peu .

merci

A+

Afyn
Navedac
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
8 déc. 2003 à 09:10
pour un prog 'user mode' donc qui va tourner en Ring3 et sur systeme multitache preemptif, irrealisable.
Afyn Messages postés 608 Date d'inscription samedi 3 août 2002 Statut Membre Dernière intervention 22 décembre 2016
8 déc. 2003 à 09:06
C'est possible de faire un timer en asm qui serait précis à la microseconde prés ?

A+

Afyn
cs_azerty25 Messages postés 1114 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 6 mai 2007
8 déc. 2003 à 07:01
Re
Dsl j'avais pas vu qu'il y avait déja la version 9, cette fois ci il me donne la bonne mesure ;) Pile tout bon
Rejoignez-nous