Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
64 / 20 / 1
Регистрация: 29.07.2012
Сообщений: 151

Управлять стилем стороннего приложения во время работы

07.09.2012, 21:20. Показов 950. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток появилась нужда управлять стилем приложения как это делается с функции shell
Visual Basic
1
Shell "Path", vbMaximizedFocus
только не при запуске, а уже при рабочем приложении если так можно помогите с этим плиз
заранее благодарен.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.09.2012, 21:20
Ответы с готовыми решениями:

Определить время работы приложения
помогите пожалуйста вывести время программы за которое оно работает #include <stdio.h> #include <string.h> int...

Ошибка во время работы приложения
Доброго времени суток. Во время работы приложения вылетает такая ошибка. Пробовал переустановить - не помогает. Microsoft .NET Framework...

Блокировка ip во время работы приложения
Здравствуйте, подскажите как можно сделать чтобы при запуске программы блокировался ip например 145.345.8.9?

5
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
07.09.2012, 22:16
Bringing an application to the foreground and altering it's window state
2
64 / 20 / 1
Регистрация: 29.07.2012
Сообщений: 151
08.09.2012, 18:06  [ТС]
Visual Basic
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
Option Explicit
 
 
Private Type POINTAPI
    x As Long
    y As Long
End Type
 
Private Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type
Private Type WINDOWPLACEMENT
    Length As Long
    flags As Long
    showCmd As Long
    ptMinPosition As POINTAPI
    ptMaxPosition As POINTAPI
    rcNormalPosition As RECT
End Type
 
Private Declare Function FindWindowA Lib "user32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowPlacement Lib "user32" (ByVal hwnd As Long, lpwndpl As WINDOWPLACEMENT) As Long
Private Declare Function SetWindowPlacement Lib "user32" (ByVal hwnd As Long, lpwndpl As WINDOWPLACEMENT) As Long
Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Const SW_MINIMIZE = 6, SW_NORMAL = 1, SW_MAXIMIZE = 3, SW_RESTORE = 9
 
 
'-------METHOD 1--------------
 
'Purpose   :    Brings the specified application to foreground and alters it's window state.
'Inputs    :    [sFormCaption]                  The caption of the dialog to bring to the foreground.
'               OR
'               [lHwnd]                         The window handle of the dialog to bring to the foreground.
'               [lWindowState]                  Specifies the windowstate of the application (defaults to normal)
'Outputs   :    Returns True on success
'Notes     :    Specify either the application caption or it's windows handle
'Revisions :
 
Function AppToForeground(Optional sFormCaption As String, Optional lHwnd As Long, Optional lWindowState As Long = SW_NORMAL) As Boolean
    Dim tWinPlace As WINDOWPLACEMENT
 
    If lHwnd = 0 Then
        lHwnd = DialogGetHwnd(sFormCaption)
    End If
    If lHwnd Then
        tWinPlace.Length = Len(tWinPlace)
        'Get the windows current placement
        Call GetWindowPlacement(lHwnd, tWinPlace)
        'Set the windows placement
        tWinPlace.showCmd = lWindowState
        'Change window state
        Call SetWindowPlacement(lHwnd, tWinPlace)
        'Bring to foreground
        AppToForeground = SetForegroundWindow(lHwnd)
    End If
End Function
 
 
'-------METHOD 2--------------
 
'Purpose   :    Brings the specified application to foreground and alters it's window state.
'Inputs    :    [sApplicationCaption]           The application caption.
'               [lHwnd]                         The handle to the application.
'               [lWindowState]                  Specifies the windowstate of the application (defaults to normal)
'Outputs   :    Returns True on success
'Notes     :    Specify either the application caption or it's windows handle
'Revisions :
 
Function AppToForeground2(Optional sApplicationCaption As String, Optional lHwnd As Long, Optional lWindowState As Long = SW_NORMAL) As Boolean
 
    
    If lHwnd = 0 Then
        lHwnd = DialogGetHwnd(sApplicationCaption)
    End If
    If lHwnd Then
        'Alter window state
        AppToForeground2 = ShowWindow(lHwnd, lWindowState)
        'Bring to foreground
        AppToForeground2 = SetForegroundWindow(lHwnd)
    End If
End Function
 
 
'Demonstration routine, brings Excel to foreground and maximises it
Sub Test()
    Dim lHwnd As Long
    
    'Get Excel's handle
    lHwnd = DialogGetHwnd(, "XLMAIN")
    If lHwnd Then
        If AppToForeground(, lHwnd, SW_MAXIMIZE) Then
            MsgBox "Maximized Excel", vbSystemModal
        Else
            MsgBox "Failed to Maximised Excel", vbSystemModal
        End If
    Else
        MsgBox "Please open Excel before trying this demonstration"
    End If
End Sub
 
 
'Purpose   :    Returns the Windows Handle of a Dialog based on its caption.
'Inputs    :    [sDialogCaption]                The dialog caption.
'               [sClassName]                    The class name of the dialog. If unknown, do not specify
'                                               this parameter.
'Outputs   :    The Dialogs Window Handle
'Notes     :    Specify either a dialog caption or class name or both.
'Revisions :
 
Function DialogGetHwnd(Optional ByVal sDialogCaption As String = vbNullString, Optional sClassName As String = vbNullString) As Long
    On Error Resume Next
    DialogGetHwnd = FindWindowA(sClassName, sDialogCaption)
    On Error GoTo 0
End Function
Извиняюсь, всё никак не разберусь с вашим кодом, можете пояснить здесь как определяется процесс.
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
08.09.2012, 21:58
Строка 93 вызывает API-функцию, которая определяет Хендл процесса по названию его окна.

FindWindow
Получает дескриптор окна верхнего уровня, имя класса или имя окна которого соответствуют указанной строке. Эта функция не ищет дочерние окна. Эта функция не выполняет поиск с учетом регистра.
MSDN
2
64 / 20 / 1
Регистрация: 29.07.2012
Сообщений: 151
09.09.2012, 21:27  [ТС]
Dragokas, у меня максимизируется только окно EXCEL причём в строке 93
Visual Basic
1
lHwnd = DialogGetHwnd(, "XLMAIN")
когда меняю XLMAIN на имя своего процесса эффекта нет
в чём тут дело?
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
09.09.2012, 22:45
Ну правильно. Почитайте заголовок процедуры DialogGetHwnd:
1 параметр - название окна (должно быть полное совпадение с учетом регистра)
2 параметр - имя класса (можете воспользоваться бесплатным Spy++, чтобы его узнать).
Указываете один из них.
XLMAIN - это имя класса.

Здесь я описывал, как получить хендл по имени процесса
Завершить сторонний процесс
(строка 44)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.09.2012, 22:45
Помогаю со студенческими работами здесь

Повышение прав приложения во время работы
Имеется проект графической программы. Этой программе необходимо во время работы повышать права до суперпользователя. Во время работы...

Смена языка приложения во время работы
Добрый день. Подскажите, как сменить язык во время работы приложения? Thread.CurrentThread.CurrentUICulture = new...

Узнать время работы консольного приложения
Получить время работы консольного приложения (время выполнения кода) в формате: часы:минуты:секунды (например: 00:01:37)

Закрыть порт на время работы приложения
Здравствуйте, подскажите как можно сделать чтобы при запуске программы блокировался для исходящий подключений порт например 7777, а после...

Не видно уведомление во время работы приложения
Я разрабатываю под андроид приложение для радиостанции. Когда запускаю приложение,должно вверху выскакивать уведомление со значком...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru