Модераторы: Akina

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> программное размещение окон на экране 
:(
    Опции темы
kb-nn
Дата 24.1.2005, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 23.12.2003
Где: Нижний Новгород

Репутация: нет
Всего: 1



кто- нибудь знает, как можно 2 файла, открытие с помощью ShellExecute, программно расположить на экране определенным образом?(например, чтобы 1-й файл занимал левую треть экрана, а второй- всю остальную часть?)
PM MAIL ICQ   Вверх
Naghual
Дата 24.1.2005, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



По идее - это возможно. Функция возвращает указатель на экземпляр приложения.
Вот по нему можно получить указатель на окно. И екго уже разместить.
Но все это - по идее.



--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
~FoX~
Дата 24.1.2005, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 10
Всего: 68



kb-nn
А может тебе Split нужен?


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
kb-nn
Дата 24.1.2005, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 23.12.2003
Где: Нижний Новгород

Репутация: нет
Всего: 1



это как?
сплит вроде разбивает строки?
при чем он тут?
PM MAIL ICQ   Вверх
Naghual
Дата 24.1.2005, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



А еще, можно использовать FindWindow для получения окна.


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
kb-nn
Дата 24.1.2005, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 23.12.2003
Где: Нижний Новгород

Репутация: нет
Всего: 1



а подробнее можно?
PM MAIL ICQ   Вверх
Naghual
Дата 24.1.2005, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



Ну тогда начнем с конца.
Чтобы задать размер/координаты окна, используется АПИ функция SetWindowPos:
Код
Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos" ( _
  ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, _
  ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Параметр, указывающий над каким окном производится действие - hwnd.

Значит нам нужно получить этот hwnd. А тут возможны варианты.

Напиши подробнее что и как ты запускаеш через ShellExecute.

Это сообщение отредактировал(а) Naghual - 24.1.2005, 17:20


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
kb-nn
Дата 25.1.2005, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 23.12.2003
Где: Нижний Новгород

Репутация: нет
Всего: 1



о! спасибо!
на первый взгляд- понятно.
PM MAIL ICQ   Вверх
kb-nn
Дата 27.1.2005, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 23.12.2003
Где: Нижний Новгород

Репутация: нет
Всего: 1



слушайте,
я открываю файл с помощью ShellExecute.
потом использую SetWindowPos с полученным дескриптором.
и от функции SetWindowPos никакого эффекта.
что обозначают параметры
hWndInsertAfter, wFlags у функции SetWindowPos ?
PM MAIL ICQ   Вверх
Naghual
Дата 27.1.2005, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



Цитата
потом использую SetWindowPos с полученным дескриптором

А дескриптор ты откуда получил?


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
kb-nn
Дата 27.1.2005, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 23.12.2003
Где: Нижний Новгород

Репутация: нет
Всего: 1



из ShellExecute
PM MAIL ICQ   Вверх
Naghual
Дата 27.1.2005, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



А это не дескриптор hWnd!
Это "... instance handle of the application that was run, or the handle of a dynamic data exchange (DDE) server application". А проще - это указатель на приложение (или сообщение об ошибке).

Вот основной вопрос:
Как из указателя приложения, получить дескриптор его окна.


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
kb-nn
Дата 27.1.2005, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 23.12.2003
Где: Нижний Новгород

Репутация: нет
Всего: 1



ну хорошо
я пишу
id=SelleExecute (...)
myHWnd=FindWindow(0,id)
SetWindowPos(myHWnd,0,0,0,400,500,1)
и не работает smile
PM MAIL ICQ   Вверх
Naghual
Дата 27.1.2005, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



Не правильно. Потому и не работает.
FindWindow ищет по заголовку окна, соответствующего классу (первый параметр).

А вот как правильно - я пока не знаю. Буду думать.

Это сообщение отредактировал(а) Naghual - 27.1.2005, 16:22


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
Exception
Дата 2.2.2005, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 7
Всего: 186



Запустили шелэкзекут, да?
Потом:
Код

Dim hw as long
hw = FindWindow ( vbNullString, "Заголовок окна" )
ну и сетвиндовпоз. Это если известен заголовок
Вот: купи Программирование в Win32 API на Visual Basic Дена Эпплмана. 500 руб, зато большинство винапи знаешь!

Это сообщение отредактировал(а) Run-time error - 2.2.2005, 15:20
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0713 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.