Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++ Builder

Войти
Регистрация
Восстановить пароль
 
 
lonk
0 / 0 / 0
Регистрация: 21.02.2013
Сообщений: 21
#1

Чтобы при нажатии F10 выскакивал калькулятор - C++ Builder

24.02.2013, 16:18. Просмотров 1061. Ответов 17
Метки нет (Все метки)

Есть программка. Я хочу, чтобы при нажатии например на клавишу F10 выскакивал например калькулятор ( который у меня уже был заложен по адресу C:/WINDOWS/system32/calc.exe ) даже если программа в трее или активна. Как реализовать ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2013, 16:18
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Чтобы при нажатии F10 выскакивал калькулятор (C++ Builder):

как можно сделать чтобы при нажатии например SHIFT +F .. - C++ Builder
как можно сделать чтобы при нажатии например SHIFT +F открывалось новое окно?

Нужно при нажатии checkbox чтобы кнопка становилась активна - C++ Builder
Нужно при нажатии checkbox чтобы кнопка становилась активна. В onclick я это задал. Но встала проблема чтобы при убирании галочки кнопка...

Как cделать, чтобы при нажатии из списка загружались картинки? - C++ Builder
ЗДРАВСТВУЙТЕ ВСЕ.У меня есть вопрос. В листбоксе есть список.Как зделать чтоб при нажатии из списка загружались картинки?на каждый элемент...

Как сделать чтобы при нажатии клавиши открывалось окно? - C++ Builder
Мне надо сделать "информация о программе или краткая справка". Т.е. я хочу поместитиь клавишу, при ее нажатии откроется окно, на котором я...

Что нужно сделать, чтобы при нажатии на button появлялся Image - C++ Builder
Помогите пожалуйста, не знаю как сделать что бы при нажатии на button появлялся Image, а при повторном нажатии еще один Image.

Как сделать,чтобы при нажатии на надпись открывалось строго соответствующее окно - C++ Builder
Добрый день!Подскажите пожалуйста как разобраться в программе C++Builder.Как сделать,чтобы при нажатии на надпись открывалось строго...

17
Sasha
4918 / 2383 / 249
Регистрация: 05.06.2008
Сообщений: 7,465
Записей в блоге: 3
24.02.2013, 17:19 #2
RegisterHotKey. Как сделать несколько RegisterHotKey и отменить регистрацию
0
lonk
0 / 0 / 0
Регистрация: 21.02.2013
Сообщений: 21
24.02.2013, 21:40  [ТС] #3
это вроде мне не подходит
0
LK
Заблокирован
24.02.2013, 23:02 #4
C++
1
2
3
4
KeyPreview = true;
if (Key == VK_F10) {
  ShellExecute(...);
}
0
lonk
0 / 0 / 0
Регистрация: 21.02.2013
Сообщений: 21
25.02.2013, 00:23  [ТС] #5
Цитата Сообщение от LK Посмотреть сообщение
C++
1
2
3
4
KeyPreview = true;
if (Key == VK_F10) {
  ShellExecute(...);
}
это мне его надо в событие вписать ?
0
Sasha
4918 / 2383 / 249
Регистрация: 05.06.2008
Сообщений: 7,465
Записей в блоге: 3
25.02.2013, 01:08 #6
В событии формы
0
lonk
0 / 0 / 0
Регистрация: 21.02.2013
Сообщений: 21
25.02.2013, 01:12  [ТС] #7
Цитата Сообщение от Sasha Посмотреть сообщение
В событии формы
[C++ Error] Unit1.cpp(101): E2040 Declaration terminated incorrectly
[C++ Error] Unit1.cpp(100): E2141 Declaration syntax error
[C++ Error] Unit1.cpp(100): E2333 Class member '_fastcall TForm1::NotePade1Click(TObject *)' declared outside its class
Я наверно что то не так делаю (
0
Sasha
4918 / 2383 / 249
Регистрация: 05.06.2008
Сообщений: 7,465
Записей в блоге: 3
25.02.2013, 01:18 #8
Ты б лучше код выложил а под ним ошибки!!!!!!!!!
0
lonk
0 / 0 / 0
Регистрация: 21.02.2013
Сообщений: 21
25.02.2013, 01:24  [ТС] #9
C++
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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <mmsystem.h>   // For Open/Close CD-Rom
#include <IniFiles.hpp> // For save/load with ini-file
#include <ShellApi.h>   // Open disk A, C, D, E, F
#include <winsock.h>    // For IP-address
 
#pragma hdrstop
#include "Unit1.h"
#include "about.h"  // For AboutBox
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "CGAUGES"
#pragma link "Trayicon"
#pragma link "trayicon"
#pragma resource "*.dfm"
TForm1 *Form1;
int CD          = 0;
int HF          = 0;
int DriveD      = 0;
String ILabel   = "  IP-address: ";
TIniFile        *ini;
WORD            wVersionRequested;
WSADATA         WSAData;
hostent         *P;
char            s[128];
char            *P2;
in_addr         in;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
// Load with ini-file --------------------------------------------------------
        ini = new TIniFile( ChangeFileExt( Application -> ExeName, ".INI" ) );
        Top     =  ini -> ReadInteger( "Position", "Top", Top);
        Left    =  ini -> ReadInteger( "Position", "Left", Left);
        delete ini;
// End load with ini-file -----------------------------------------------------
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Exit1Click(TObject *Sender)
{
// Close application ---------------
        Application -> Terminate();
// End close application ------------
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
// Get drive type for "D:"--------------------
        if (GetDriveType("D:") == DRIVE_CDROM)
                {DriveD = 1;}
        else
                {DriveD = 0;}
// End get drive type-------------------------
// CGuage [1,2] ------------------------------------------------------------------------------------------
// CGauge 1
        CGauge1 -> MaxValue = int(DiskSize(3)/1048576);
        CGauge1 -> Progress = int(DiskFree(3)/1048576);
        CGauge1 -> Hint = "Free space in drive C: " + IntToStr (int(DiskFree(3)/1048576)) + " Mb";
// CGauge 2
        if (DriveD == 0)
                {
                CGauge2 -> MaxValue = int(DiskSize(4)/1048576);
                CGauge2 -> Progress = int(DiskFree(4)/1048576);
                CGauge2 -> Hint = "Free space in drive D: " + IntToStr (int(DiskFree(4)/1048576)) + " Mb";
                }
        else
                {
                CGauge2 -> Enabled == False;
                }
// End CGauge [1,2] --------------------------------------------------------------------------------------
 
// Get IP-addres --------------------------------------
        wVersionRequested = MAKEWORD(1,1);
        WSAStartup(wVersionRequested,&WSAData);
        gethostname(s, 128);
        P = gethostbyname(s);
        in.S_un.S_un_b.s_b1 = P->h_addr_list[0][0];
        in.S_un.S_un_b.s_b2 = P->h_addr_list[0][1];
        in.S_un.S_un_b.s_b3 = P->h_addr_list[0][2];
        in.S_un.S_un_b.s_b4 = P->h_addr_list[0][3];
        P2 = inet_ntoa(in);
        WSACleanup();
        StatusBar1 -> SimpleText = ILabel + P2;
// End get IP-addres ----------------------------------
 
// Sleep application --------
        Sleep(0);
// End sleep timer ----
 
// Get SystemDate ----------------------------------------
        Label1 -> Caption = "Time:  " + TimeToStr(Now());
        Label2 -> Caption = "Date:  " + DateToStr(Date());
// End get SystemDate ------------------------------------
}
//---------------------------------------------------------------------------
void __fastcall TForm1::NotePade1Click(TObject *Sender)
 KeyPreview = true;
if (Key == VK_F10) {
  ShellExecute(...);
}
{
// Run NotePade-----------------------------------------------
        WinExec("C:/WINDOWS/system32/notepad.exe",wsMinimized);
// End run NotePade ------------------------------------------
}
//---------------------------------------------------------------------------
void __fastcall TForm1::WordPad1Click(TObject *Sender)
{
// Run Write -----------------------------------------------
        WinExec("C:/WINDOWS/system32/write.exe",wsMinimized);
// End run Write -------------------------------------------
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N1Click(TObject *Sender)
{
// Run Calc -----------------------------------------------
        WinExec("C:/WINDOWS/system32/calc.exe",wsMinimized);
// End run Culc -------------------------------------------
}
//---------------------------------------------------------------------------
void __fastcall TForm1::iExpress1Click(TObject *Sender)
{
// Run iExpress -----------------------------------------------
        WinExec("C:/WINDOWS/system32/dxdiag.exe",wsMinimized);
// End run iExpress -------------------------------------------
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Perfmon1Click(TObject *Sender)
{
// Run Perfmon -----------------------------------------------
        WinExec("C:/WINDOWS/system32/regedt32.exe",wsMinimized);
// End run Perfmon -------------------------------------------
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Taskmgr1Click(TObject *Sender)
{
// Run Taskmgr -----------------------------------------------
        WinExec("C:/WINDOWS/system32/eventvwr.exe",wsMinimized);
// End run Taskmgr -------------------------------------------
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Panel1Click(TObject *Sender)
{
// Open/Clse CD-Rom --------------------------------------------------------
        if (CD == 0)
        {
        mciSendString("Set cdaudio door open wait", NULL, 0, Handle);           // Open CD-Rom
        CD = 1;
        }
        else
        {
        mciSendString ("Set cdaudio door closed wait", NULL, 0, Handle);        // Close CD-Rom
        CD = 0;
        }
// End Open/Colse CD-Rom ----------------------------------------------------
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
// Save in ini-file --------------------------------------------------------
        ini = new TIniFile(ChangeFileExt( Application->ExeName, ".INI" ) );
        ini -> WriteInteger ("Position","Top", Top);
        ini -> WriteInteger ("Position","Left", Left);
        delete ini;
// End save in ini-file ----------------------------------------------------
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TrayIcon1Click(TObject *Sender)
{
// Hide/Show Form1 ------------
        if (HF == 0)
        {
        ShowWindow (Application -> Handle, SW_HIDE);
        Form1 -> Hide();
        HF = 1;
        }
        else
        {
        ShowWindow (Application -> Handle, SW_SHOW);
        Form1 -> Show();
        HF = 0;
        }
// End Hide/Show Form1 ------------
}
//---------------------------------------------------------------------------
void __fastcall TForm1::StaticText1Click(TObject *Sender)
{
// Open disk C: in new window --------------------------------
        ShellExecute("C:/","open","C:/",0,"C:/",wsMinimized);
// End open disk C: in new window ----------------------------
}
//---------------------------------------------------------------------------
void __fastcall TForm1::StaticText2Click(TObject *Sender)
{
// Open disk D: in new window --------------------------------
        ShellExecute("D:/","open","D:/",0,"D:/",wsMinimized);
// End open disk D: in new window ----------------------------
}
//---------------------------------------------------------------------------
void __fastcall TForm1::StaticText4Click(TObject *Sender)
{
// Open disk A: in new window --------------------------------
        ShellExecute("A:/","open","A:/",0,"A:/",wsMinimized);
// End open disk A: in new window ----------------------------
}
//---------------------------------------------------------------------------
void __fastcall TForm1::StaticText3Click(TObject *Sender)
{
// Open disk E: in new window --------------------------------
        ShellExecute("E:/","open","E:/",0,"E:/",wsMinimized);
// End open disk E: in new window ----------------------------
}
//---------------------------------------------------------------------------
void __fastcall TForm1::StaticText5Click(TObject *Sender)
{
// Open disk F: in new window --------------------------------
        ShellExecute("F:/","open","F:/",0,"F:/",wsMinimized);
// End open disk F: in new window ----------------------------
}
//---------------------------------------------------------------------------
void __fastcall TForm1::About1Click(TObject *Sender)
{
// Show AboutBox ----------------------------------------------------
        Application -> CreateForm(__classid(TAboutBox), &AboutBox);
        AboutBox -> ShowModal();
// End show AboutBox ------------------------------------------------
}
 
//---------------------------------------------------------------------------
Добавлено через 33 секунды
Цитата Сообщение от Sasha Посмотреть сообщение
Ты б лучше код выложил а под ним ошибки!!!!!!!!!
строка номер 100 смотри
0
LK
Заблокирован
25.02.2013, 01:38 #10
дык, одного этого:
C++
1
ShellExecute(...);
мало, вместо троеточия должен быть ваш код вызова калькулятора, кажется, так:
C++
1
ShellExecute(Handle,"open","calc.exe",NULL,NULL,SW_SHOWNORMAL);
Добавлено через 1 минуту
И событие должно быть Form->OnKeyPress
0
lonk
0 / 0 / 0
Регистрация: 21.02.2013
Сообщений: 21
25.02.2013, 01:40  [ТС] #11
Цитата Сообщение от LK Посмотреть сообщение
дык, одного этого:
C++
1
ShellExecute(...);
мало, вместо троеточия должен быть ваш код вызова калькулятора, кажется, так:
C++
1
ShellExecute(0,"open","calc",SW_SHOW);
Добавлено через 1 минуту
И событие должно быть Form->OnKeyPress
C++
1
2
3
4
5
void __fastcall TForm1::FormKeyPress(TObject *Sender, char &Key)
KeyPreview = true;
if (Key == VK_F10) {
  ShellExecute(0,"open","calc",SW_SHOW);
}
[C++ Error] Unit1.cpp(234): E2040 Declaration terminated incorrectly
[C++ Error] Unit1.cpp(233): E2141 Declaration syntax error
[C++ Error] Unit1.cpp(233): E2333 Class member '_fastcall TForm1::FormKeyPress(TObject *,char &)' declared outside its class
[C++ Warning] Unit1.cpp(9): W8058 Cannot create pre-compiled header: write failed
0
LK
Заблокирован
25.02.2013, 01:46 #12
C++
1
2
3
4
5
6
7
void __fastcall TForm1::FormKeyPress(TObject *Sender, char &Key)
{
  Form1->KeyPreview = true;
  if (Key == VK_F10) {
    ShellExecute(Handle,"open","calc.exe",NULL,NULL,SW_SHOWNORMAL);
  }
}
Cтандартные обработчики надо делать, используя Инспектор объектов, вторая вкладка.

Добавлено через 2 минуты
интересно... кто-то еще использует дискеты:
C++
1
ShellExecute("A:/","open","A:/",0,"A:/",wsMinimized);
?
0
lonk
0 / 0 / 0
Регистрация: 21.02.2013
Сообщений: 21
25.02.2013, 01:49  [ТС] #13
Цитата Сообщение от LK Посмотреть сообщение
C++
1
2
3
4
5
6
7
void __fastcall TForm1::FormKeyPress(TObject *Sender, char &Key)
{
  Form1->KeyPreview = true;
  if (Key == VK_F10) {
    ShellExecute(Handle,"open","calc.exe",NULL,NULL,SW_SHOWNORMAL);
  }
}
Cтандартные обработчики надо делать, используя Инспектор объектов, вторая вкладка.

Добавлено через 2 минуты
интересно... кто-то еще использует дискеты:
C++
1
ShellExecute("A:/","open","A:/",0,"A:/",wsMinimized);
?
Мало ли)

Добавлено через 1 минуту
Цитата Сообщение от LK Посмотреть сообщение
C++
1
2
3
4
5
6
7
void __fastcall TForm1::FormKeyPress(TObject *Sender, char &Key)
{
  Form1->KeyPreview = true;
  if (Key == VK_F10) {
    ShellExecute(Handle,"open","calc.exe",NULL,NULL,SW_SHOWNORMAL);
  }
}
Cтандартные обработчики надо делать, используя Инспектор объектов, вторая вкладка.
Сделал я по твоему мануалу. Не открывает калькулятор при нажатии ф10
0
_Dimon_
1394 / 557 / 86
Регистрация: 31.10.2011
Сообщений: 1,952
25.02.2013, 03:58 #14
Цитата Сообщение от lonk Посмотреть сообщение
Сделал я по твоему мануалу. Не открывает калькулятор при нажатии ф10
Потому-что мат.часть учить надо.

1. В свойствах формы ставишь KeyPreview = true;

2.
C++
1
2
3
4
void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift)
{
 if (Key==VK_F10) ShellExecute(Handle,"open","calc.exe",NULL,NULL,SW_SHOWNORMAL);
}
0
lonk
0 / 0 / 0
Регистрация: 21.02.2013
Сообщений: 21
25.02.2013, 09:14  [ТС] #15
Цитата Сообщение от _Dimon_ Посмотреть сообщение
Потому-что мат.часть учить надо.

1. В свойствах формы ставишь KeyPreview = true;

2.
C++
1
2
3
4
void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift)
{
 if (Key==VK_F10) ShellExecute(Handle,"open","calc.exe",NULL,NULL,SW_SHOWNORMAL);
}
не работает получается идет выделение MainMenu1, но само не открывает калькулятор
0
25.02.2013, 09:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.02.2013, 09:14
Привет! Вот еще темы с ответами:

Что добавить в код, чтобы при нажатии на кнопку удалялись найденные файлы? - C++ Builder
Что добавить в код, чтоб при нажатии на кнопку, оно удаляло найденные файлы? // Для поиска файлов в каталоге и его подкаталогах...

Как связать две формы? Чтобы при нажатии в MainMenu выскакивало окно. - C++ Builder
Немогу понять как связать две форм что бы при нажатие в MainMenu выскакивало окно

Как сделать так,чтобы при нажатии на клавишу в c++ builder открывался файл в powerpoint? - C++ Builder
Как сделать так,чтобы при нажатии на клавишу в c++ builder открывался файл в powerpoint???? Напишите код пожалуйста)

Как сделать так, чтобы при нажатии на клавишу в c++ builder открывался файл в access? - C++ Builder
Как сделать так,чтобы при нажатии на клавишу в c++ builder открывался файл в access???? Напишите код пожалуйста) Добавлено через 28...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru