Форум: "Основная";
Текущий архив: 2008.12.07;
Скачать: [xml.tar.bz2];
ВнизКак отключить правую кнопку мыши в программе Найти похожие ветки
← →
OlegM (2007-11-13 14:13) [0]Здрассте
Дело в том что в проге использую флаш ролики, и вот когда на ролике тыкаеш правой кнопкой то вылазит флешевское меню, можно както на время работы программы вырубить правую кнопку, а по завершению включить ее ?
← →
stanislav_ (2007-11-13 14:18) [1]А в настройках самого объекта отабражающего флеш, нельзя?
← →
OlegM (2007-11-13 14:48) [2]
> А в настройках самого объекта отабражающего флеш, нельзя?
Нет там оно все равно показывает пункты меню настройки и о программе
← →
KilkennyCat © (2007-11-15 01:22) [3]Используется ActiveX Control?
← →
humanoid (2007-12-26 19:56) [4]А с помощю како-нибудь системной команды нельзя вырубить эту функцию , а потом при выходе сделать откат....
Меня тоже этот вопрос волнует...
← →
БарЛог © (2007-12-26 20:55) [5]Имхо, надо не кнопку запрещать.
Включаешь мышь для левшей, и левая кнопка становится правой, правая - левой :)
← →
www (2007-12-26 22:24) [6]
> когда на ролике тыкаеш правой кнопкой то вылазит флешевское
> меню
и в чем проблема?
← →
humanoid (2007-12-26 23:57) [7]>>Включаешь мышь для левшей, и левая кнопка становится правой, правая - левой :)
Этож не выход... сами же понимаете (без балды)... Функция левой кнопки должна быть сохранена...
>> и в чем проблема?
Да даже и не про флеш до кучи...
____
Если позволите постараюсь сформулировать четкий вопрос:
Существуют ли методы (включая системные команды Windows) отключать правую клавишу манипулятора (мышь, тач-пад, трек-бол и т.д.) во время исполнения вашего приложения, и в случае её завершения была бы придусмотрена процедура возврата установочной функции операционной системы (в данном случае XP / Vista)???
← →
{RASkov} © (2007-12-27 00:09) [8]> [7] humanoid (26.12.07 23:57)
> Существуют ли методы (включая системные команды Windows)
> отключать правую клавишу манипулятора
Системных таких методов врядли будут), а вот остальное зависит от фантазии.... но если, например, запускается какая-то прога и тут перестает работать правая кнопка мыши, то нафик такая прога нужна???? Нет, я не против идеи, если идею сможешь разумно обосновать, растолковать.... и она окажется действительно нужной.....
Или тебе только в своем приложении нужно "лишить мышь правого батона"? Хотя судя по
> и в случае её завершения была бы придусмотрена процедура
> возврата установочной функции операционной системы
- врядли
:)
← →
Германн © (2007-12-27 01:25) [9]
> {RASkov} © (27.12.07 00:09) [8]
> Нет, я не против идеи, если идею сможешь разумно обосновать,
> растолковать.... и она окажется действительно нужной...
> ..
Имхо, не сможет. Ведь если правая кнопка используется в программе, значит она в ней нужна. А если её использование в вышеуказанной программе кому-то мешает жить, значит одно из двух: либо программу надо сменить, либо всем известную прокладку. :)
← →
humanoid (2007-12-27 11:40) [10]>> Имхо, не сможет -
откуда такя уверенность?
OlegM - уже обосновал проблему... отчасти от себя могу добавить, что это это просьба клиента т..к. в контенкстном меню (по правой кнопке) существует on-line ссылка на корпорацию Adobe... во внедренном Flash ролике.
___
Если есть возможность отключать клавиатуру в специфических прикладных программах, то есть вмдимо возможность отключения некоторых функций мыши, тоже должна быть...
___
По сути я задал вопрос конкретный (в надежде получить ответ "ДА" и каким образом это достигается).... а в итоге получаю не четкие рекомендации от знатоков, а филосовские рассуждения на тему БЫТИЯ...
← →
Правильный_Вася (2007-12-27 11:48) [11]нужно отключать не мышь, а реакцию на нее
> отключать правую клавишу манипулятора во время исполнения вашего приложения, и в случае
> её завершения была бы придусмотрена процедура возврата установочной
> функции операционной системы
ты не в однозадачной ОС работаешь
← →
clickmaker © (2007-12-27 13:25) [12]
> что это это просьба клиента т..к. в контенкстном меню (по
> правой кнопке) существует on-line ссылка на корпорацию Adobe
и что? Какая-то ненависть к Адобу?
← →
Правильный_Вася (2007-12-27 13:34) [13]
> и что? Какая-то ненависть к Адобу?
ну, клиентам может не нравиться
было у нас в окошке About ссылка на наш сайт, так по директиве службы безопасности клиента пришлось убрать, бо не полагается простым юзерам ходить в инет, а там эксплорер вызывался автоматом и долго терзал юзера, после чего ругался на недоступность и т.п.
короче, клиент всегда прав
← →
clickmaker © (2007-12-27 13:36) [14]
> короче, клиент всегда прав
"пешеход прав, пока жив" (с)
:)
← →
Apollon © (2007-12-28 20:41) [15]а теперь представь, что твоя программа завершилась аварийно и "забыла" включить правую кнопку...
← →
humanoid (2007-12-28 22:42) [16]>>>а теперь представь, что твоя программа завершилась аварийно и "забыла" включить правую кнопку...
Всеп конечно учитывается... и это тоже... уж поверьте... ПРО ТО ЗНАМО
Для достижения цели, этот допустимый косяк не такой уж весомый в вероятности сбоя программы... и аварийного ее выхода... тем более после перезагрзки систему все вернется "на круги своя"..
И очень вас прошу, Б-га ради, пожалуйста без дополнительных сентенций по темам Мироздания и опять же Бытия...
_____
Вопрос: Можно ли произвести Глобальный хук на правую кнопку мыши? Если - ДА, то какими известными вам, уважаемые профи, методами....???
← →
humanoid (2007-12-28 22:45) [17]Конечно, можно отшутиться типа: Метод один - долбани по ней молотком...
___
Это будет видимо смешно...
← →
Apollon © (2007-12-29 13:22) [18]а зачем тебе глобальный хук? тут уже упоминалось про многозадачность системы и, по-моему, неправильно будет лишать юзера правой кнопки на время работы твоей программы...
← →
humanoid (2007-12-30 06:19) [19]
> а зачем тебе глобальный хук? тут уже упоминалось про многозадачность
> системы и, по-моему, неправильно будет лишать юзера правой
> кнопки на время работы твоей программы...
Это небольшой интерактивный мануал, представляющий и рассказывающий о другом приложениии, который поставляется вместе с основным программным пакетом...
Я не думаю, что на 10-15 минут уделенного времени (а может и вовсе "неуделенного") этому мануалу, у юзера где-то там поседеет из-за того , что на это время будет лишена возможность правого клика....
← →
Ketmar_ (2007-12-30 10:39) [20]мануал? с пакетом? обратиться в Adobe и купить custom-версию flash player, в которой что надо — оставлено, что не надо — вырезано.
← →
humanoid (2007-12-30 11:19) [21]
> мануал? с пакетом? обратиться в Adobe и купить custom-версию
> flash player, в которой что надо — оставлено, что не надо
> — вырезано
SWF та что в проекте, питается от ActiveX (Flash.OCX) установленой в системе конечного пользователя... никакие дополнительные не подразумевают принудительную установку с нашего диска, а в случае отсутствия данного OCX? ему предлагается его скачать с офсайта ADOBE...
Вообщем это опять философия не в тему.... мне никто так и не ответил...
возможен ли или невозможен глобалный хук, на правую кнопку мыши, если да, то какими методами...
_____
ДА ИЛИ НЕТ - это более чем адвекватный и вменямый ответ на поставленный вопрос, а не рассусоливание отвлеченных косвенных суждений.
_____
С НОВЫМ ГОДОМ:)
← →
Царев Евгений © (2007-12-30 18:44) [22]Имхо ненадо так, но вот D7 WinXP
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtrls, ShockwaveFlashObjects_TLB{или как его назвали}, Menus;
type
TShockwaveFlash{или как его назвали} = class(ShockwaveFlashObjects_TLB.TShockwaveFlash)
private
procedure WMPopupMenu(var Message: TWMMouse); message WM_RBUTTONDOWN;
end;
type
TForm1 = class(TForm)
ShockwaveFlash1: TShockwaveFlash;
PopupMenu1: TPopupMenu;
mnuTest1: TMenuItem;
procedure mnuTest1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TShockwaveFlash }
procedure TShockwaveFlash.WMPopupMenu(var Message: TWMMouse);
var
CurPos: TPoint;
begin
GetCursorPos(CurPos);
Form1.PopupMenu1.Popup(CurPos.X, CurPos.Y);
end;
procedure TForm1.mnuTest1Click(Sender: TObject);
begin
ShowMessage("Test");
end;
end.
С Новым Годом :-)
← →
humanoid (2007-12-30 18:59) [23]@ Царев Евгений
Спасибо... буду пробовать уже в Новом Году:)))
___
Всех кто принял участие в обсуждении данной темы... желаю... в Новом, Новых начинаний, озарений и гениальных работ! Благополоучия и Здоровья..
Мир вашему Дому!
Гумир:)
← →
TStas © (2008-01-04 22:16) [24]А через перехват сообщений от мыши нельзя? И кнопку трогать не нало. Просто просматриваешь сообщение, через ApplicationEvent. Ну и несли там что-то не нравится Handled := True. Только не знаю, как это с флешроликом будет работать.
← →
Царев Евгений © (2008-01-05 09:53) [25]
> TStas © (04.01.08 22:16) [24]
Да работает. И того варварства что я написал ненадо было :)
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtrls, ShockwaveFlashObjects_TLB, AppEvnts;
type
TForm1 = class(TForm)
ShockwaveFlash1: TShockwaveFlash;
ApplicationEvents1: TApplicationEvents;
procedure ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);
var
FlashPlayerClass: array[0..MAX_PATH-1] of Char;
begin
Case Msg.message OF
WM_RBUTTONDOWN:
begin
GetClassName(Msg.hwnd,FlashPlayerClass,MAX_PATH);
if (FlashPlayerClass = "MacromediaFlashPlayerActiveX") then
Handled:= True;
end;
end;
end;
end.
← →
TStas © (2008-01-05 16:09) [26]>Царев Евгений Только я сам торможу не меньше Вашего: WM_RBUTTONDOWN. Я-то никак не мог вспомнить, ну вот как выловить, что правая :)
← →
arreke (2008-02-11 13:53) [27]не забывайти про кнопку меню не клаве, при её нажатии тоже меню выходит.
← →
arreke © (2008-02-11 14:00) [28]не забывайти про кнопку меню не клаве, при её нажатии тоже меню выходит.
← →
Anatoly Podgoretsky © (2008-02-11 14:09) [29]
> Существуют ли методы (включая системные команды Windows)
> отключать правую клавишу манипулятора (мышь, тач-пад, трек-
> бол и т.д.) во время исполнения вашего приложения,
На такое зверство даже Микрософт не решилась.
← →
Царев Евгений © (2008-02-11 18:25) [30]
> arreke © (11.02.08 14:00) [28]
не забывайти про кнопку меню не клаве, при её нажатии тоже меню выходит.
Больше как зверством точно это не назавешь :(
const
FlashPlayerClassName: String = "MacromediaFlashPlayerActiveX";
WM_WINMENUKEY = $100;
implementation
{$R *.dfm}
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);
var
TempClass: array [0..49] of Char;
begin
With Msg Do Begin
Case message Of
WM_RBUTTONDOWN:
Begin
GetClassName(hwnd,TempClass,50);
if (StrPas(TempClass) = FlashPlayerClassName) then Handled:= True;
End; // WM_RBUTTONDOWN
WM_WINMENUKEY: Handled:= True;
End; // Case
End; //With
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ShockwaveFlash1.Movie:= WideString(IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName)) + "01.swf");
end;
← →
arreke © (2008-02-12 01:32) [31]СПС, Евгений.
Всё работает.
← →
Германн © (2008-02-12 01:53) [32]"Нетрадиционалы" уже и сюда пролезли, блин. :)
← →
Царев Евгений © (2008-02-12 07:47) [33]
> arreke © (12.02.08 01:32) [31]
> СПС, Евгений.Всё работает.
Не всё, клавиша меню в твоем приложении не работает :)
Case message Of
WM_RBUTTONDOWN, WM_WINMENUKEY:
Begin
GetClassName(hwnd,TempClass,50);
if (StrPas(TempClass) = FlashPlayerClassName) then Handled:= True;
End;
так сделай.
← →
arreke © (2008-02-12 14:18) [34]СПС, и так тоже работает.
Слушай, Евгений, вопрос немного не по этой теме,
глянь сюда - http://www.appcontrols.com/components.html
тут есть интересный компонет, который создаёт анимационный эффект открытия и закрытия формы, но он платный.
Сюществует бесплатный аналог, или может руками можно написать, или легче всё же денежку заплатить и не заморачиваться ?
← →
Царев Евгений © (2008-02-12 17:11) [35]
> arreke © (12.02.08 14:18) [34]
> Слушай, Евгений, вопрос немного не по этой теме, глянь сюда
> - http://www.appcontrols.com/components.html
Ветка не по теме, открой свою, но я комментировать не буду по твоему вопросу, так как знаком с автором, и имею у себя эту библиотеку.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2008.12.07;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.009 c