-
Здрассте Дело в том что в проге использую флаш ролики, и вот когда на ролике тыкаеш правой кнопкой то вылазит флешевское меню, можно както на время работы программы вырубить правую кнопку, а по завершению включить ее ?
-
А в настройках самого объекта отабражающего флеш, нельзя?
-
> А в настройках самого объекта отабражающего флеш, нельзя?
Нет там оно все равно показывает пункты меню настройки и о программе
-
Используется ActiveX Control?
-
А с помощю како-нибудь системной команды нельзя вырубить эту функцию , а потом при выходе сделать откат....
Меня тоже этот вопрос волнует...
-
Имхо, надо не кнопку запрещать. Включаешь мышь для левшей, и левая кнопка становится правой, правая - левой :)
-
> когда на ролике тыкаеш правой кнопкой то вылазит флешевское > меню
и в чем проблема?
-
>>Включаешь мышь для левшей, и левая кнопка становится правой, правая - левой :)
Этож не выход... сами же понимаете (без балды)... Функция левой кнопки должна быть сохранена...
>> и в чем проблема?
Да даже и не про флеш до кучи...
____
Если позволите постараюсь сформулировать четкий вопрос:
Существуют ли методы (включая системные команды Windows) отключать правую клавишу манипулятора (мышь, тач-пад, трек-бол и т.д.) во время исполнения вашего приложения, и в случае её завершения была бы придусмотрена процедура возврата установочной функции операционной системы (в данном случае XP / Vista)???
-
> [7] humanoid (26.12.07 23:57) > Существуют ли методы (включая системные команды Windows) > отключать правую клавишу манипулятора
Системных таких методов врядли будут), а вот остальное зависит от фантазии.... но если, например, запускается какая-то прога и тут перестает работать правая кнопка мыши, то нафик такая прога нужна???? Нет, я не против идеи, если идею сможешь разумно обосновать, растолковать.... и она окажется действительно нужной.....
Или тебе только в своем приложении нужно "лишить мышь правого батона"? Хотя судя по
> и в случае её завершения была бы придусмотрена процедура > возврата установочной функции операционной системы
- врядли :)
-
> {RASkov} © (27.12.07 00:09) [8]
> Нет, я не против идеи, если идею сможешь разумно обосновать, > растолковать.... и она окажется действительно нужной... > ..
Имхо, не сможет. Ведь если правая кнопка используется в программе, значит она в ней нужна. А если её использование в вышеуказанной программе кому-то мешает жить, значит одно из двух: либо программу надо сменить, либо всем известную прокладку. :)
-
>> Имхо, не сможет - откуда такя уверенность?
OlegM - уже обосновал проблему... отчасти от себя могу добавить, что это это просьба клиента т..к. в контенкстном меню (по правой кнопке) существует on-line ссылка на корпорацию Adobe... во внедренном Flash ролике.
___
Если есть возможность отключать клавиатуру в специфических прикладных программах, то есть вмдимо возможность отключения некоторых функций мыши, тоже должна быть...
___
По сути я задал вопрос конкретный (в надежде получить ответ "ДА" и каким образом это достигается).... а в итоге получаю не четкие рекомендации от знатоков, а филосовские рассуждения на тему БЫТИЯ...
-
нужно отключать не мышь, а реакцию на нее
> отключать правую клавишу манипулятора во время исполнения вашего приложения, и в случае > её завершения была бы придусмотрена процедура возврата установочной > функции операционной системы
ты не в однозадачной ОС работаешь
-
> что это это просьба клиента т..к. в контенкстном меню (по > правой кнопке) существует on-line ссылка на корпорацию Adobe
и что? Какая-то ненависть к Адобу?
-
> и что? Какая-то ненависть к Адобу?
ну, клиентам может не нравиться было у нас в окошке About ссылка на наш сайт, так по директиве службы безопасности клиента пришлось убрать, бо не полагается простым юзерам ходить в инет, а там эксплорер вызывался автоматом и долго терзал юзера, после чего ругался на недоступность и т.п. короче, клиент всегда прав
-
> короче, клиент всегда прав
"пешеход прав, пока жив" (с) :)
-
а теперь представь, что твоя программа завершилась аварийно и "забыла" включить правую кнопку...
-
>>>а теперь представь, что твоя программа завершилась аварийно и "забыла" включить правую кнопку...
Всеп конечно учитывается... и это тоже... уж поверьте... ПРО ТО ЗНАМО
Для достижения цели, этот допустимый косяк не такой уж весомый в вероятности сбоя программы... и аварийного ее выхода... тем более после перезагрзки систему все вернется "на круги своя"..
И очень вас прошу, Б-га ради, пожалуйста без дополнительных сентенций по темам Мироздания и опять же Бытия... _____
Вопрос: Можно ли произвести Глобальный хук на правую кнопку мыши? Если - ДА, то какими известными вам, уважаемые профи, методами....???
-
Конечно, можно отшутиться типа: Метод один - долбани по ней молотком... ___
Это будет видимо смешно...
-
а зачем тебе глобальный хук? тут уже упоминалось про многозадачность системы и, по-моему, неправильно будет лишать юзера правой кнопки на время работы твоей программы...
-
> а зачем тебе глобальный хук? тут уже упоминалось про многозадачность > системы и, по-моему, неправильно будет лишать юзера правой > кнопки на время работы твоей программы...
Это небольшой интерактивный мануал, представляющий и рассказывающий о другом приложениии, который поставляется вместе с основным программным пакетом...
Я не думаю, что на 10-15 минут уделенного времени (а может и вовсе "неуделенного") этому мануалу, у юзера где-то там поседеет из-за того , что на это время будет лишена возможность правого клика....
-
мануал? с пакетом? обратиться в Adobe и купить custom-версию flash player, в которой что надо — оставлено, что не надо — вырезано.
-
> мануал? с пакетом? обратиться в Adobe и купить custom-версию > flash player, в которой что надо — оставлено, что не надо > — вырезано
SWF та что в проекте, питается от ActiveX (Flash.OCX) установленой в системе конечного пользователя... никакие дополнительные не подразумевают принудительную установку с нашего диска, а в случае отсутствия данного OCX? ему предлагается его скачать с офсайта ADOBE...
Вообщем это опять философия не в тему.... мне никто так и не ответил...
возможен ли или невозможен глобалный хук, на правую кнопку мыши, если да, то какими методами...
_____
ДА ИЛИ НЕТ - это более чем адвекватный и вменямый ответ на поставленный вопрос, а не рассусоливание отвлеченных косвенных суждений.
_____
С НОВЫМ ГОДОМ:)
-
Имхо ненадо так, но вот 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
public
end;
var
Form1: TForm1;
implementation
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.
С Новым Годом :-)
-
@ Царев Евгений
Спасибо... буду пробовать уже в Новом Году:))) ___
Всех кто принял участие в обсуждении данной темы... желаю... в Новом, Новых начинаний, озарений и гениальных работ! Благополоучия и Здоровья..
Мир вашему Дому!
Гумир:)
-
А через перехват сообщений от мыши нельзя? И кнопку трогать не нало. Просто просматриваешь сообщение, через ApplicationEvent. Ну и несли там что-то не нравится Handled := True. Только не знаю, как это с флешроликом будет работать.
-
> 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
public
end;
var
Form1: TForm1;
implementation
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.
-
>Царев Евгений Только я сам торможу не меньше Вашего: WM_RBUTTONDOWN. Я-то никак не мог вспомнить, ну вот как выловить, что правая :)
-
не забывайти про кнопку меню не клаве, при её нажатии тоже меню выходит.
-
не забывайти про кнопку меню не клаве, при её нажатии тоже меню выходит.
-
> Существуют ли методы (включая системные команды Windows) > отключать правую клавишу манипулятора (мышь, тач-пад, трек- > бол и т.д.) во время исполнения вашего приложения,
На такое зверство даже Микрософт не решилась.
-
> arreke © (11.02.08 14:00) [28] не забывайти про кнопку меню не клаве, при её нажатии тоже меню выходит.
Больше как зверством точно это не назавешь :(
const
FlashPlayerClassName: String = 'MacromediaFlashPlayerActiveX';
WM_WINMENUKEY = $100;
implementation
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_WINMENUKEY: Handled:= True;
End; End;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ShockwaveFlash1.Movie:= WideString(IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName)) + '01.swf');
end;
-
СПС, Евгений. Всё работает.
-
"Нетрадиционалы" уже и сюда пролезли, блин. :)
-
> 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; так сделай.
-
СПС, и так тоже работает. Слушай, Евгений, вопрос немного не по этой теме, глянь сюда - http://www.appcontrols.com/components.htmlтут есть интересный компонет, который создаёт анимационный эффект открытия и закрытия формы, но он платный. Сюществует бесплатный аналог, или может руками можно написать, или легче всё же денежку заплатить и не заморачиваться ?
-
> arreke © (12.02.08 14:18) [34]
> Слушай, Евгений, вопрос немного не по этой теме, глянь сюда > - http://www.appcontrols.com/components.html
Ветка не по теме, открой свою, но я комментировать не буду по твоему вопросу, так как знаком с автором, и имею у себя эту библиотеку.
|