Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Внимание! Есть замечания модератора по теме: и не удаляйте мои сообщения ..
Старый 25.07.2008, 18:44   #1
combays
Пользователь
 
Аватар для combays
 
Регистрация: 13.07.2008
Сообщений: 45
Сообщение запуск приложений Delphi 2007, ShellAPI

Помогите..,,,))
Вот Как в Делпхи 2007 создать Порграмму чтобы она была как таймер,и Нап:

через 30 мин. открыла /ххх/ххх/х.хх
после етого через 3 мин еше раз открыла /ххх/ххх/х.хх
после етого через 3 мин еше раз открыла /ххх/ххх/х.хх
а после через 3 мин во ето /ххх/ххх/х2.хх

кто нибудь помогите !!!
combays вне форума Ответить с цитированием
Старый 25.07.2008, 20:04   #2
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Если, я правильно понял вопрос, то вам надо программа которая через определённое время будет запускать какие то файлы? если да, то берём компонент таймер и команду:

Код:
Uses
  ShellApi,...
----------------
procedure TForm1.Timer1Timer(Sender: TObject);
begin
ShellExecute(Application.Handle,'Open','Путь к файлу',Nil,Nil,SW_SHOWDEFAULT);
end;

Или команду WinExec('Путь к файлу', SW_SHOW);
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 27.07.2008, 11:25   #3
andrey4623
Форумчанин
 
Аватар для andrey4623
 
Регистрация: 31.05.2007
Сообщений: 266
По умолчанию

Код:
function ExecuteFile(const Filename, Params, DefaultDir: string;
  ShowCmd: integer): THandle;
var
  zFilename, zParams, zDir:array[0..79] of Char;
begin
  Result := ShellExecute(Application.MainForm.Handle, nil,
    StrPCopy(zFilename, Filename),StrPCopy(zParams,Params),
    StrPCopy(zDir,DefaultDir),ShowCmd);
end;
В раздел uses добавить ShellAPI.

Так можно открыть веб-страничку:
ExecuteFile('http://www.google.ru/','','',SW_SHOW);

А так запустить файл:
ExecuteFile('C:\Program.exe','','c: \',SW_SHOW);

Последний раз редактировалось Stilet; 28.07.2008 в 16:05.
andrey4623 вне форума Ответить с цитированием
Старый 27.07.2008, 12:50   #4
combays
Пользователь
 
Аватар для combays
 
Регистрация: 13.07.2008
Сообщений: 45
По умолчанию

Спасибо Большое Вы Мне оЧень помогли !!!
Спасибо Спасибо Спасибо Спасибо Спасибо

Но Вот люди люди я тупой балван я не понял а куда вставлять Время ??


Напр..

Uses
ShellApi,...
----------------
procedure TForm1.Timer1Timer(Sender: TObject);
begin (вот например 13 сек сюда надо пприписать ??)
ShellExecute(Application.Handle,'Op en','Путь к файлу',Nil,Nil,SW_SHOWDEFAULT);
end;
combays вне форума Ответить с цитированием
Старый 27.07.2008, 14:01   #5
komex
Пользователь
 
Регистрация: 16.12.2006
Сообщений: 82
По умолчанию

Цитата:
Сообщение от combays Посмотреть сообщение
Спасибо Большое Вы Мне оЧень помогли !!!
Спасибо Спасибо Спасибо Спасибо Спасибо

Но Вот люди люди я тупой балван я не понял а куда вставлять Время ??


Напр..

Uses
ShellApi,...
----------------
procedure TForm1.Timer1Timer(Sender: TObject);
begin (вот например 13 сек сюда надо пприписать ??)
ShellExecute(Application.Handle,'Op en','Путь к файлу',Nil,Nil,SW_SHOWDEFAULT);
end;
В свойствах таймера ставишь нужное время в милисекундах.
komex вне форума Ответить с цитированием
Старый 27.07.2008, 23:04   #6
Noor
Участник клуба
 
Аватар для Noor
 
Регистрация: 01.11.2006
Сообщений: 1,051
По умолчанию

Цитата:
Сообщение от komex Посмотреть сообщение
В свойствах таймера ставишь нужное время в милисекундах.
а если точнее то Interval — задает период приема сообщений таймером в миллисе-кундах, тобиж 1000мс = 1с
Noor вне форума Ответить с цитированием
Старый 28.07.2008, 15:15   #7
combays
Пользователь
 
Аватар для combays
 
Регистрация: 13.07.2008
Сообщений: 45
По умолчанию

Kto Nibud Mojete Menya Beztolkovoqo Barana naucit ?
Da vot ya ne ponyal qde Interval ??
I eshe Sdelayte Pliz Kto mojet i dayte ssilku na eto PLIZ !
combays вне форума Ответить с цитированием
Старый 28.07.2008, 16:12   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вот примерный код, требует вероятно доработки:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;

type
q=record
 files:string;
 interval:integer;
end;
  TForm1 = class(TForm)
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var w:array[1..3] of q; m:integer;
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 w[1].files:='/ххх/ххх/х.хх/';
 w[1].interval:=30000;
 w[2].files:='/ххх/ххх/х.хх/';
 w[2].interval:=3000;
 w[3].files:='/ххх/ххх/х.хх/';
 w[3].interval:=3000;
 m:=1;
 Timer1.Interval:=w[m].interval;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if m<=high(w) then begin
 ShellExecute(Application.Handle,'Open',pchar(w[m].files),Nil,Nil,SW_SHOWDEFAULT);
 inc(m);
 TTimer(sender).Interval:=w[m].interval;
end;
end;

end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.07.2008, 17:55   #9
Ring0Sn
Форумчанин
 
Аватар для Ring0Sn
 
Регистрация: 06.09.2007
Сообщений: 239
По умолчанию

Помойму проще НЕКУДА
Код:
procedure TimerProc(hWnd: HWND; nIDEvent, uElapse: UINT;
                    lpTimerFunc: TFNTimerProc); stdcall;
var Last : DWORD;
begin
  ShellExecute(hWnd,'Open','/ххх/ххх/х.хх',Nil,Nil,SW_SHOWDEFAULT);
  Last := GetTickCount;
  while GetTickCount - Last < (1000*60)*{ждем}3{минуты} do Application.ProcessMessages;

  ShellExecute(hWnd,'Open','/ххх/ххх/х.хх',Nil,Nil,SW_SHOWDEFAULT);
  while GetTickCount - Last < (1000*60)*{ждем}3{минуты} do Application.ProcessMessages;

  ShellExecute(hWnd,'Open','/ххх/ххх/х.хх',Nil,Nil,SW_SHOWDEFAULT);
  while GetTickCount - Last < (1000*60)*{ждем}3{минуты}do Application.ProcessMessages;

  ShellExecute(hWnd,'Open','/ххх/ххх/х.хх',Nil,Nil,SW_SHOWDEFAULT);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  SetTimer(Handle, 1, (1000*60)*{интервал в}30{минут}, @TimerProc);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  KillTimer(Handle, 1);
end;

Последний раз редактировалось Ring0Sn; 28.07.2008 в 17:58.
Ring0Sn вне форума Ответить с цитированием
Старый 29.07.2008, 13:30   #10
combays
Пользователь
 
Аватар для combays
 
Регистрация: 13.07.2008
Сообщений: 45
По умолчанию

Spasibo !!!! Spasibo !!!!
Nu Vi vse Molodci Vi mne ochen pomogli !!!!!!!!


Uraaaaaaaaaaaaaa !!!!
Samiy Lucsiy Sayt i eqo Posetiteli Tozhe @@@!!
combays вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск QIP с помощью Delphi + отладчик ошибок beegl Общие вопросы Delphi 6 02.06.2008 11:07
запуск dos приложений shurik_7866 Общие вопросы Delphi 3 25.01.2008 23:23
Запуск процесса написанного на Java из Delphi basil Общие вопросы по Java, Java SE, Kotlin 0 21.06.2007 16:19
Delphi 2007 for Win32 + Delphi 2007 for PHP Noor Софт 0 20.04.2007 08:36
Delphi 2007 oLMeR Софт 4 13.04.2007 20:12