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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2011, 12:11   #11
grafgrial
Просто хороший
Форумчанин
 
Аватар для grafgrial
 
Регистрация: 26.03.2010
Сообщений: 562
По умолчанию

А почему только в открытую форму заносится, желательно если она еще свернута. Просто в открытую легче сделать обычным перетаскиванием файлов на листбокс
Кстати если добавить так же в онкреат формы1 код который был вначале то и первый раз заносит
Помог, нажми весы слева

Последний раз редактировалось grafgrial; 19.02.2011 в 12:14.
grafgrial вне форума Ответить с цитированием
Старый 20.02.2011, 02:58   #12
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Цитата:
только в открытую форму заносится
Ну убери отправку и обработку WM_POPUP, хотя какую-то сигнализацию о том, что программа таки запустилась и отправила данные в первую запущенную копию советую оставить, FlashWindow(application.handle, true), например
пыщь

Последний раз редактировалось JTG; 20.02.2011 в 03:07.
JTG вне форума Ответить с цитированием
Старый 20.02.2011, 03:08   #13
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

JTG может вы знаете, а что в моем коде не так
Код:
procedure TForm1.FormCreate(Sender: TObject);
var
  hMutex: integer;
  mmm: boolean;
  h, sh: HWND;
  i: integer;
  str: string;
begin
  mmm := false;
  hMutex := CreateMutex(nil, TRUE, 'Form1');
  if GetLastError <> 0 then
    mmm := true; 
  ReleaseMutex(hMutex);
  if mmm then
  begin
    h:=FindWindow(nil, 'Form1');  // находит
    FindWindowEx(h,sh,'TListBox','ListBox1'); //не находит, и ума не приложу почему???
    if (ParamCount > 0) then
      for i := 1 to ParamCount do
      begin
        str := ParamStr(i);
        SendMessage(sh, LB_ADDSTRING, 0, integer(@str));
      end;
    Application.Terminate;
  end;
  if (ParamCount > 0) then
    for i := 1 to ParamCount do
      listbox1.Items.Add(ParamStr(i))
end;
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 20.02.2011, 03:22   #14
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Код:
    h:=FindWindow(nil, 'Form1');
    sh:=FindWindowEx(h, 0, 'TListBox','');
...
    SendMessage(sh, LB_ADDSTRING, 0, dword(str));
пыщь
JTG вне форума Ответить с цитированием
Старый 20.02.2011, 03:38   #15
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

а вот и нет
я много что перекомбинировал, и шас вот пробую не катит
и как я понимаю все дело в
Код:
    sh:=FindWindowEx(h, 0, 'TListBox','');
потому что остальное тестировалось по отдельности, работает
может есть чем заменить ету строку?
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 20.02.2011, 16:54   #16
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

:\ _______
Изображения
Тип файла: jpg Буфер обмена-1.jpg (17.8 Кб, 137 просмотров)
пыщь
JTG вне форума Ответить с цитированием
Старый 20.02.2011, 17:32   #17
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Пример (не обрабатывает этот момент).
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 20.02.2011, 19:14   #18
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

JTG вы послали ето на лист бокс второго окна или того же где код?
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 21.02.2011, 12:45   #19
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

А какая, собственно, разница?
Код:
procedure TForm1.Button1Click(Sender: TObject);
var h, sh: dword;
    s: string;
begin
  s := 'Здравствуй, выпадающий список. Вот тебе строка.';
  Variant(CreateOleObject('Shell.Application')).FileRun;     //uses ..., ComObj
  Sleep(100);
  h := FindWindow(nil, 'Запуск программы');
  sh := FindWindowEx(h, 0, 'ComboBox','');
  SendMessage(sh, CB_ADDSTRING, 0, dword(s));
  SendMessage(sh, CB_SHOWDROPDOWN, dword(true), 0);
end;
пыщь
JTG вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
НАдоразобраться !!! процесс принятия сигнала на Атмега 128 sers88 Помощь студентам 1 10.12.2010 16:26
Как остановить SendTo (UDP протокол) Dasharnb777 Общие вопросы .NET 0 23.11.2010 23:41
Система принятия решения (Экспертная система) daranton Microsoft Office Excel 4 01.05.2010 17:55
Теория принятия решений Шушелла Помощь студентам 0 11.04.2010 13:47
"система поддержки принятия решений". Кто нибудь знает о ней? myshonok Свободное общение 31 21.12.2009 23:14