|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Вопрос по автозапуску
Добрый день. У меня возникла проблема. Есть менюшка, в которой есть некая кнопка, запускающая вызов файла на удаленном сервере. Вобщем, тамошний лог с обновлениями. Как можно сделать так, чтобы при запуске программы эта кнопка, грубо говоря, автоматически нажималась. То есть можно было запустить программу, она автоматически запросила файл на удаленном сервере. Вот листинг мэйна:
unit main1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, XPMan, ComCtrls, jpeg, ExtCtrls, Menus, ShellAPI; type TMain = class(TForm) Image1: TImage; ProgressBar1: TProgressBar; XPManifest1: TXPManifest; Memo1: TMemo; Button1: TButton; Button2: TButton; Label1: TLabel; PopupMenu1: TPopupMenu; Hidelogwindow1: TMenuItem; Button3: TButton; procedure Label2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Hidelogwindow1Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } update_ip: string; thrd: TUpdateThread; ac_thrd: TAutoCheckThread; end; var Main: TMain; implementation {$R *.dfm} procedure TMain.Label2Click(Sender: TObject); begin // launch qwerty end; procedure TMain.Button1Click(Sender: TObject); begin Button1.Visible:= False; Button2.Visible:= False; Button3.Visible:= True; Memo1.Visible:= True; update_ip:= ****; thrd:= TUpdateThread.Create(false); end; procedure TMain.Hidelogwindow1Click(Sender: TObject); begin Memo1.Visible:= False; end; procedure TMain.Button3Click(Sender: TObject); begin thrd.Terminate; end; procedure TMain.FormCreate(Sender: TObject); begin ac_thrd:= TAutoCheckThread.Create(false); end; Вот эта самая Бутон1 - и есть проблема. |
#2
|
||||
|
||||
В OnCreate или OnShow (короче, там, где нужно) напиши
Button1.Click; или Button1.OnClick( Sender ); |
#3
|
||||
|
||||
На событие FormShow повешай вызов
Код:
Button1Click(nil); |
#4
|
|||
|
|||
Спасибо. Вопрос решился =) теперь еще один. В принципе тоже самое, надо чтобы по тому же принципу запускался .exe файл, лежащий на
локальном компютере. Вот кусочек кода: procedure TMain.Button2Click(Sender: TObject); begin if ShellExecute(handle, 'Open', 'system\dbclear.exe, '', 'system\', SW_SHOWNORMAL) <= 32 then begin MessageBox(handle, 'Error: File ..\system\dbclear.exe not found!', 'Error: File not found, MB_OK+MB_ICONERROR); end; end; Данный кусок следует за вышеприведенным. Нужно, чтобы и этот бутон 2 запустился так же автоматически. |
#5
|
|||
|
|||
тут вся проблема еще заключается в том, чтобы прога должалась окончания обновления, вызванного бутоном1, после чего уже автоматом запустила бутон 2. Делей не походит, ибо у всех разные скорости скачки...
|
#6
|
||||
|
||||
|
#7
|
|||
|
|||
да, совершенно верно. Теперь надо сообразить,как это все интегрировать... Просто я далеко не дока в программировании. На работе сказали "делай", а то что я делфей не занимался лет 6 - это мало кого волнует... =)
|