Beautified, Added Sudo Menu Input Password and Kill Capture either on Sudo for System Level, or User Level
This commit is contained in:
parent
b280bc80b1
commit
0131c7da53
142
main.frm
142
main.frm
|
@ -15837,12 +15837,6 @@ object Form1: TForm1
|
||||||
object PopupMenu5: TPopupMenu
|
object PopupMenu5: TPopupMenu
|
||||||
Left = 208
|
Left = 208
|
||||||
Top = 208
|
Top = 208
|
||||||
object MenuItem35: TMenuItem
|
|
||||||
Caption = '-'
|
|
||||||
end
|
|
||||||
object MenuItem39: TMenuItem
|
|
||||||
Caption = '-'
|
|
||||||
end
|
|
||||||
object MenuItem40: TMenuItem
|
object MenuItem40: TMenuItem
|
||||||
Caption = 'System Camera'
|
Caption = 'System Camera'
|
||||||
Bitmap.Data = {
|
Bitmap.Data = {
|
||||||
|
@ -17298,10 +17292,7 @@ object Form1: TForm1
|
||||||
OnClick = MenuItem33Click
|
OnClick = MenuItem33Click
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object MenuItem43: TMenuItem
|
object MenuItem23: TMenuItem
|
||||||
Caption = '-'
|
|
||||||
end
|
|
||||||
object MenuItem30: TMenuItem
|
|
||||||
Caption = '-'
|
Caption = '-'
|
||||||
end
|
end
|
||||||
object MenuItem44: TMenuItem
|
object MenuItem44: TMenuItem
|
||||||
|
@ -17428,9 +17419,6 @@ object Form1: TForm1
|
||||||
}
|
}
|
||||||
OnClick = MenuItem9Click
|
OnClick = MenuItem9Click
|
||||||
end
|
end
|
||||||
object MenuItem23: TMenuItem
|
|
||||||
Caption = '-'
|
|
||||||
end
|
|
||||||
object MenuItem45: TMenuItem
|
object MenuItem45: TMenuItem
|
||||||
Caption = 'Exit'
|
Caption = 'Exit'
|
||||||
Bitmap.Data = {
|
Bitmap.Data = {
|
||||||
|
@ -31258,6 +31246,7 @@ object Form1: TForm1
|
||||||
55C95D5D5DA76D6D6D707272722A6868680A666766036D6C6D006D6E6D006E6E
|
55C95D5D5DA76D6D6D707272722A6868680A666766036D6C6D006D6E6D006E6E
|
||||||
6E00000000000000000000000000000000000000000000000000
|
6E00000000000000000000000000000000000000000000000000
|
||||||
}
|
}
|
||||||
|
Visible = False
|
||||||
OnClick = MenuItem13Click
|
OnClick = MenuItem13Click
|
||||||
end
|
end
|
||||||
object MenuItem37: TMenuItem
|
object MenuItem37: TMenuItem
|
||||||
|
@ -31397,10 +31386,137 @@ object Form1: TForm1
|
||||||
Visible = False
|
Visible = False
|
||||||
OnClick = MenuItem37Click
|
OnClick = MenuItem37Click
|
||||||
end
|
end
|
||||||
|
object MenuItem38: TMenuItem
|
||||||
|
Caption = 'Input Capture Password (Sudo)'
|
||||||
|
Bitmap.Data = {
|
||||||
|
B60E0000424DB60E0000000000003600000028000000200000001D0000000100
|
||||||
|
200000000000800E000064000000640000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000FFFFFF00FFFFFF02FFFFFF09FFFF
|
||||||
|
FF12FFFFFF16FFFFFF16FFFFFF16FFFFFF16FFFFFF16FFFFFF16FFFFFF16FFFF
|
||||||
|
FF16FFFFFF16FFFFFF16FFFFFF16FFFFFF16FFFFFF15FFFFFF12FFFFFF08FFFF
|
||||||
|
FF01000000000000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000FFFFFF01FFFFFF0FFFFFFF3EFFFF
|
||||||
|
FF6AFFFFFF75FFFFFF76FFFFFF76FFFFFF76FFFFFF76FFFFFF76FFFFFF76FFFF
|
||||||
|
FF76FFFFFF76FFFFFF76FFFFFF76FFFFFF76FFFFFF75FFFFFF67FFFFFF39FFFF
|
||||||
|
FF0DFFFFFF000000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000FFFFFF02FEFEFE2CEDEDEDCCF1F1
|
||||||
|
F1E8F1F1F1EAF1F1F1EAF1F1F1EAF1F1F1EAF1F1F1EAF1F1F1EAF1F1F1EAF1F1
|
||||||
|
F1EAF1F1F1EAF1F1F1EAF1F1F1EAF1F1F1EAF2F2F2EAF9F9F9E6FFFFFF84FFFF
|
||||||
|
FF22FFFFFF010000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000FFFFFF03F6F6F656DBDBDBBAF6F6
|
||||||
|
F680F5F5F580F5F5F580F5F5F580F5F5F580F5F5F580F5F5F580F5F5F580F5F5
|
||||||
|
F580F5F5F580F5F5F580F5F5F580F5F5F580F7F7F781E5E5E5D6FBFBFBAAFFFF
|
||||||
|
FF2FFFFFFF020000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000FFFFFF03F3F3F35AB0B0B0B9F1F1
|
||||||
|
F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1
|
||||||
|
F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF2F2F27CE0E0E0CCFAFAFAACFFFF
|
||||||
|
FF30FFFFFF020000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000FFFFFF03F3F3F35AB0B0B0B9F1F1
|
||||||
|
F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1
|
||||||
|
F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF2F2F27CE0E0E0CCFAFAFAACFFFF
|
||||||
|
FF30FFFFFF020000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000FFFFFF03F3F3F35AB0B0B0B9F1F1
|
||||||
|
F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1
|
||||||
|
F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF2F2F27CE0E0E0CCFAFAFAACFFFF
|
||||||
|
FF30FFFFFF020000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000FFFFFF03F3F3F35AB0B0B0B9F1F1
|
||||||
|
F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1
|
||||||
|
F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF2F2F27CE0E0E0CCFAFAFAACFFFF
|
||||||
|
FF30FFFFFF020000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000FFFFFF03F3F3F35AB0B0B0B9F1F1
|
||||||
|
F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1
|
||||||
|
F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF2F2F27CE0E0E0CCFAFAFAACFFFF
|
||||||
|
FF30FFFFFF020000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000FFFFFF03F3F3F35AB0B0B0B9F1F1
|
||||||
|
F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1
|
||||||
|
F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF2F2F27CE0E0E0CCFAFAFAACFFFF
|
||||||
|
FF30FFFFFF020000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000FFFFFF03F3F3F35AB0B0B0B9F1F1
|
||||||
|
F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1
|
||||||
|
F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF2F2F27CE0E0E0CCFAFAFAACFFFF
|
||||||
|
FF30FFFFFF020000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000FFFFFF03F3F3F35AB0B0B0B9F1F1
|
||||||
|
F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1
|
||||||
|
F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF2F2F27CE0E0E0CCFAFAFAACFFFF
|
||||||
|
FF30FFFFFF020000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000FFFFFF03F3F3F35AB0B0B0B9F1F1
|
||||||
|
F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1
|
||||||
|
F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF2F2F27CE0E0E0CCFAFAFAACFFFF
|
||||||
|
FF30FFFFFF020000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000FFFFFF03F2F2F257B0B0B0B9F1F1
|
||||||
|
F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF1F1
|
||||||
|
F17CF1F1F17CF1F1F17CF1F1F17CF1F1F17CF2F2F27CE0E0E0CCF9F9F9A7FFFF
|
||||||
|
FF2DFFFFFF020000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000FFFFFF02F2F2F240A9A9A9C9D9D9
|
||||||
|
D98AEFEFEF7DDBDBDB87E6E6E689E5E5E58AE5E5E58AE5E5E58AE5E5E58AE5E5
|
||||||
|
E58AE5E5E58AE7E7E788E5E5E581E8E8E87FCBCBCB94E8E8E8D9FBFBFB80FFFF
|
||||||
|
FF1CFFFFFF010000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000FFFFFF00FFFFFF0AA2A2A26EB1B1
|
||||||
|
B1C2E4E4E483E7E7E7C0CFCFCFD0B7B7B7AEB0B0B0A2AFAFAFA1AFAFAFA1AFAF
|
||||||
|
AFA1B0B0B0A2A6A6A6BEC3C3C3A2F3F3F38EE7E7E7DDF7F7F798FFFFFF2DFFFF
|
||||||
|
FF08FFFFFF000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000003F3F3F00FFFFFF01FFFFFF16C0C0
|
||||||
|
C0BFE2E2E286E1E1E1DBFFFFFF9CFFFFFF2FFFFFFF0CFFFFFF0BFFFFFF0BFFFF
|
||||||
|
FF0BFFFFFF0EF1F1F160A6A6A6BBF8F8F898E1E1E1E1FFFFFF5DFFFFFF0EFFFF
|
||||||
|
FF002D2D2D000000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000AFAFAF00FFFFFF00FFFFFF14BFBF
|
||||||
|
BFBEE2E2E286DBDBDBDBFFFFFF98FFFFFF26FFFFFF01ACACAC00ACACAC00ACAC
|
||||||
|
AC00FFFFFF03F0F0F059A5A5A5BBF9F9F995E1E1E1E2FFFFFF5DFFFFFF0DF5F5
|
||||||
|
F500000000000000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000AFAFAF00FFFFFF00FFFFFF14BFBF
|
||||||
|
BFBEE2E2E286DBDBDBDBFFFFFF98FFFFFF26FFFFFF01FFFFFF00FFFFFF00FFFF
|
||||||
|
FF00FFFFFF03F0F0F059A5A5A5BBF9F9F993DEDEDEE4FFFFFF5EFFFFFF0EF5F5
|
||||||
|
F500000000000000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000AFAFAF00FFFFFF00FFFFFF14BFBF
|
||||||
|
BFBEE1E1E186DBDBDBDBFFFFFF99FFFFFF27FFFFFF01FFFFFF00FFFFFF00FFFF
|
||||||
|
FF00FFFFFF03F0F0F05AA5A5A5BBF9F9F992E2E2E2E2FFFFFF5AFFFFFF0CF3F3
|
||||||
|
F300000000000000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000AFAFAF00FFFFFF00FFFFFF12BFBF
|
||||||
|
BFBCE1E1E186DBDBDBDAFFFFFFA1FFFFFF2EFFFFFF02FFFFFF00FFFFFF002B2B
|
||||||
|
2B00FFFFFF06F1F1F161ADADADB8FAFAFA98EAEAEADAFFFFFF4FFFFFFF098E8E
|
||||||
|
8E00000000000000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000AFAFAF00DCDCDC00FFFFFF0CCBCB
|
||||||
|
CBA9D7D7D78CE3E3E3CEFDFDFDC0FFFFFF4DFFFFFF0DFFFFFF01FFFFFF00FFFF
|
||||||
|
FF02FFFFFF15F2F2F28AD1D1D1A3FBFBFBA8F3F3F3C5FFFFFF3BFFFFFF058B8B
|
||||||
|
8B00000000000000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000AFAFAF00FAFAFA00FFFFFF05E0E0
|
||||||
|
E07ACFCFCF9CF6F6F6A7F7F7F7EAFFFFFF92FFFFFF42FFFFFF1AFFFFFF12FFFF
|
||||||
|
FF1FFFFFFF52F9F9F9CAF7F7F783FCFCFCC9FDFDFD96FFFFFF24FFFFFF028B8B
|
||||||
|
8B00000000000000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000AFAFAF00FFFFFF00FFFFFF01F7F7
|
||||||
|
F726A7A7A7C5E6E6E686F6F6F6CEFAFAFAE5FFFFFFA8FFFFFF79FFFFFF6CFDFD
|
||||||
|
FD87F7F7F7D2FCFCFCA2F4F4F48CFDFDFDD9FFFFFF55FFFFFF0EFFFFFF008B8B
|
||||||
|
8B00000000000000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000AFAFAF00FFFFFF00FFFFFF00FFFF
|
||||||
|
FF06A5A5A56AA6A6A6BCEAEAEA86F7F7F7B9F4F4F4E8F5F5F5EAF2F2F2E7E8E8
|
||||||
|
E8DAFAFAFA9BDCDCDC8AF9F9F9CDFDFDFD82FFFFFF21FFFFFF03BCBCBC008B8B
|
||||||
|
8B00000000000000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000AFAFAF00FFFFFF00FFFFFF00FFFF
|
||||||
|
FF00FFFFFF0A94949476959595C6D6D6D68FEEEEEE83F8F8F88BF7F7F787E2E2
|
||||||
|
E285A9A9A9A9CFCFCFD5FCFCFC83FFFFFF26FFFFFF06FFFFFF00FFFFFF008B8B
|
||||||
|
8B00000000000000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000AFAFAF00FFFFFF00FFFFFF00FFFF
|
||||||
|
FF00FFFFFF01FFFFFF08BABABA3E878787A6979797CAAAAAAACBC2C2C2C8D4D4
|
||||||
|
D4C4DFDFDFA5FCFCFC4EFFFFFF1AFFFFFF05FFFFFF00FFFFFF00FFFFFF008B8B
|
||||||
|
8B00000000000000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000AFAFAF00FCFCFC00D5D5D500D6D6
|
||||||
|
D600D6D6D600FFFFFF00FFFFFF02FFFFFF0AFFFFFF17FFFFFF27FFFFFF29FFFF
|
||||||
|
FF20FFFFFF14FFFFFF08FFFFFF01FFFFFF00D6D6D600D6D6D600D6D6D6007474
|
||||||
|
7400000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000006A6A6A0099999900000000000000
|
||||||
|
0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF01FFFFFF01FFFF
|
||||||
|
FF01FFFFFF000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000
|
||||||
|
}
|
||||||
|
Visible = False
|
||||||
|
OnClick = MenuItem38Click
|
||||||
|
end
|
||||||
end
|
end
|
||||||
object UniqueInstance1: TUniqueInstance
|
object UniqueInstance1: TUniqueInstance
|
||||||
Enabled = True
|
Enabled = True
|
||||||
Identifier = 'CameraControl'
|
Identifier = 'CameraControl'
|
||||||
|
UpdateInterval = 500
|
||||||
|
OnOtherInstance = UniqueInstance1OtherInstance
|
||||||
Left = 832
|
Left = 832
|
||||||
Top = 664
|
Top = 664
|
||||||
end
|
end
|
||||||
|
|
3
main.lrj
3
main.lrj
|
@ -31,5 +31,6 @@
|
||||||
{"hash":4691652,"name":"tform1.menuitem44.caption","sourcebytes":[65,98,111,117,116],"value":"About"},
|
{"hash":4691652,"name":"tform1.menuitem44.caption","sourcebytes":[65,98,111,117,116],"value":"About"},
|
||||||
{"hash":315140,"name":"tform1.menuitem45.caption","sourcebytes":[69,120,105,116],"value":"Exit"},
|
{"hash":315140,"name":"tform1.menuitem45.caption","sourcebytes":[69,120,105,116],"value":"Exit"},
|
||||||
{"hash":185423705,"name":"tform1.menuitem13.caption","sourcebytes":[75,105,108,108,32,67,97,112,116,117,114,105,110,103,32,40,85,115,101,114,32,77,111,100,101,41],"value":"Kill Capturing (User Mode)"},
|
{"hash":185423705,"name":"tform1.menuitem13.caption","sourcebytes":[75,105,108,108,32,67,97,112,116,117,114,105,110,103,32,40,85,115,101,114,32,77,111,100,101,41],"value":"Kill Capturing (User Mode)"},
|
||||||
{"hash":200734201,"name":"tform1.menuitem37.caption","sourcebytes":[75,105,108,108,32,67,97,112,116,117,114,105,110,103,32,40,83,117,100,111,41],"value":"Kill Capturing (Sudo)"}
|
{"hash":200734201,"name":"tform1.menuitem37.caption","sourcebytes":[75,105,108,108,32,67,97,112,116,117,114,105,110,103,32,40,83,117,100,111,41],"value":"Kill Capturing (Sudo)"},
|
||||||
|
{"hash":49173897,"name":"tform1.menuitem38.caption","sourcebytes":[73,110,112,117,116,32,67,97,112,116,117,114,101,32,80,97,115,115,119,111,114,100,32,40,83,117,100,111,41],"value":"Input Capture Password (Sudo)"}
|
||||||
]}
|
]}
|
||||||
|
|
204
main.pas
204
main.pas
|
@ -49,7 +49,7 @@ type
|
||||||
MenuItem20 : TMenuItem;
|
MenuItem20 : TMenuItem;
|
||||||
MenuItem21 : TMenuItem;
|
MenuItem21 : TMenuItem;
|
||||||
MenuItem22 : TMenuItem;
|
MenuItem22 : TMenuItem;
|
||||||
MenuItem23 : TMenuItem;
|
MenuItem23: TMenuItem;
|
||||||
MenuItem24 : TMenuItem;
|
MenuItem24 : TMenuItem;
|
||||||
MenuItem25 : TMenuItem;
|
MenuItem25 : TMenuItem;
|
||||||
MenuItem26 : TMenuItem;
|
MenuItem26 : TMenuItem;
|
||||||
|
@ -57,20 +57,17 @@ type
|
||||||
MenuItem28 : TMenuItem;
|
MenuItem28 : TMenuItem;
|
||||||
MenuItem29 : TMenuItem;
|
MenuItem29 : TMenuItem;
|
||||||
MenuItem3 : TMenuItem;
|
MenuItem3 : TMenuItem;
|
||||||
MenuItem30 : TMenuItem;
|
|
||||||
MenuItem31 : TMenuItem;
|
MenuItem31 : TMenuItem;
|
||||||
MenuItem32 : TMenuItem;
|
MenuItem32 : TMenuItem;
|
||||||
MenuItem33 : TMenuItem;
|
MenuItem33 : TMenuItem;
|
||||||
MenuItem34 : TMenuItem;
|
MenuItem34 : TMenuItem;
|
||||||
MenuItem35 : TMenuItem;
|
|
||||||
MenuItem36 : TMenuItem;
|
MenuItem36 : TMenuItem;
|
||||||
MenuItem37 : TMenuItem;
|
MenuItem37 : TMenuItem;
|
||||||
MenuItem39 : TMenuItem;
|
MenuItem38: TMenuItem;
|
||||||
MenuItem4 : TMenuItem;
|
MenuItem4 : TMenuItem;
|
||||||
MenuItem40 : TMenuItem;
|
MenuItem40 : TMenuItem;
|
||||||
MenuItem41 : TMenuItem;
|
MenuItem41 : TMenuItem;
|
||||||
MenuItem42 : TMenuItem;
|
MenuItem42 : TMenuItem;
|
||||||
MenuItem43 : TMenuItem;
|
|
||||||
MenuItem44 : TMenuItem;
|
MenuItem44 : TMenuItem;
|
||||||
MenuItem45 : TMenuItem;
|
MenuItem45 : TMenuItem;
|
||||||
MenuItem5 : TMenuItem;
|
MenuItem5 : TMenuItem;
|
||||||
|
@ -115,6 +112,7 @@ type
|
||||||
procedure MenuItem34Click(Sender: TObject);
|
procedure MenuItem34Click(Sender: TObject);
|
||||||
procedure MenuItem36Click(Sender: TObject);
|
procedure MenuItem36Click(Sender: TObject);
|
||||||
procedure MenuItem37Click(Sender: TObject);
|
procedure MenuItem37Click(Sender: TObject);
|
||||||
|
procedure MenuItem38Click(Sender: TObject);
|
||||||
procedure MenuItem3Click(Sender: TObject);
|
procedure MenuItem3Click(Sender: TObject);
|
||||||
procedure MenuItem4Click(Sender: TObject);
|
procedure MenuItem4Click(Sender: TObject);
|
||||||
procedure MenuItem6Click(Sender: TObject);
|
procedure MenuItem6Click(Sender: TObject);
|
||||||
|
@ -129,6 +127,8 @@ type
|
||||||
procedure TrayIcon3Click(Sender: TObject);
|
procedure TrayIcon3Click(Sender: TObject);
|
||||||
procedure TrayIcon4Click(Sender: TObject);
|
procedure TrayIcon4Click(Sender: TObject);
|
||||||
procedure TrayIcon5Click(Sender: TObject);
|
procedure TrayIcon5Click(Sender: TObject);
|
||||||
|
procedure UniqueInstance1OtherInstance(Sender: TObject;
|
||||||
|
ParamCount: Integer; const Parameters: array of String);
|
||||||
procedure VpClock1SecondChange(Sender: TObject);
|
procedure VpClock1SecondChange(Sender: TObject);
|
||||||
|
|
||||||
private
|
private
|
||||||
|
@ -221,14 +221,14 @@ end;
|
||||||
procedure PopUpWebcamOn;
|
procedure PopUpWebcamOn;
|
||||||
begin
|
begin
|
||||||
Form1.PopupNotifier2.Text := 'Camera is On' + LineEnding + 'Video Device: /dev/video' + IntToStr(CountNumber)+ '/';
|
Form1.PopupNotifier2.Text := 'Camera is On' + LineEnding + 'Video Device: /dev/video' + IntToStr(CountNumber)+ '/';
|
||||||
Form1.PopupNotifier2.ShowAtPos(NewWidth - 100 , NewHeight div 2 - 550);
|
Form1.PopupNotifier2.ShowAtPos(NewWidth - 200 , NewHeight div 2 - 550);
|
||||||
Form1.TrayIcon5.Hint := 'Camera Status' + LineEnding + 'Camera is On';
|
Form1.TrayIcon5.Hint := 'Camera Status' + LineEnding + 'Camera is On';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure PopUpWebcamOff;
|
procedure PopUpWebcamOff;
|
||||||
begin
|
begin
|
||||||
Form1.PopupNotifier1.Text := 'No Camera' + LineEnding + 'Video Device: /dev/video' + IntToStr(CountNumber)+ '/';
|
Form1.PopupNotifier1.Text := 'No Camera' + LineEnding + 'Video Device: /dev/video' + IntToStr(CountNumber)+ '/';
|
||||||
Form1.PopupNotifier1.ShowAtPos(NewWidth - 100 , NewHeight div 2 - 550);
|
Form1.PopupNotifier1.ShowAtPos(NewWidth - 200 , NewHeight div 2 - 550);
|
||||||
Form1.TrayIcon5.Hint := 'Camera Status' + LineEnding + 'Camera is Disabled';
|
Form1.TrayIcon5.Hint := 'Camera Status' + LineEnding + 'Camera is Disabled';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -236,21 +236,21 @@ procedure PopUpWebcamCaptures;
|
||||||
begin
|
begin
|
||||||
Form1.PopupNotifier7.Text := 'Camera is Capturing' + LineEnding + 'Video Device: /dev/video'
|
Form1.PopupNotifier7.Text := 'Camera is Capturing' + LineEnding + 'Video Device: /dev/video'
|
||||||
+ IntToStr(CountNumber)+ '/' + LineEnding + 'Application Name: ' + CaptureAppName;
|
+ IntToStr(CountNumber)+ '/' + LineEnding + 'Application Name: ' + CaptureAppName;
|
||||||
Form1.PopupNotifier7.ShowAtPos(NewWidth - 100 , NewHeight div 2 - 550);
|
Form1.PopupNotifier7.ShowAtPos(NewWidth - 200 , NewHeight div 2 - 550);
|
||||||
Form1.TrayIcon5.Hint := 'Camera Status' + LineEnding + 'Camera is Capturing' + LineEnding + CaptureAppName;
|
Form1.TrayIcon5.Hint := 'Camera Status' + LineEnding + 'Camera is Capturing' + LineEnding + CaptureAppName;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure PopUpWebcamHacked;
|
procedure PopUpWebcamHacked;
|
||||||
begin
|
begin
|
||||||
Form1.PopupNotifier8.Text := 'Camera is Hacked' + LineEnding + 'Video Device: /dev/video' + IntToStr(CountNumber)+ '/' + LineEnding + 'Check Logs';
|
Form1.PopupNotifier8.Text := 'Camera is Hacked' + LineEnding + 'Video Device: /dev/video' + IntToStr(CountNumber)+ '/' + LineEnding + 'Check Logs';
|
||||||
Form1.PopupNotifier8.ShowAtPos(NewWidth - 100 , NewHeight div 2 - 550);
|
Form1.PopupNotifier8.ShowAtPos(NewWidth - 200 , NewHeight div 2 - 550);
|
||||||
Form1.TrayIcon5.Hint := 'Camera Status' + LineEnding + 'Camera is Hacked' + LineEnding + 'Check Logs';
|
Form1.TrayIcon5.Hint := 'Camera Status' + LineEnding + 'Camera is Hacked' + LineEnding + 'Check Logs';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure PopUpMicHacked;
|
procedure PopUpMicHacked;
|
||||||
begin
|
begin
|
||||||
Form1.PopupNotifier9.Text := 'Microphone is Hacked' + LineEnding + 'Alsa Driver Changed Status';
|
Form1.PopupNotifier9.Text := 'Microphone is Hacked' + LineEnding + 'Alsa Driver Changed Status';
|
||||||
Form1.PopupNotifier9.ShowAtPos(NewWidth - 100 , NewHeight div 2 - 375);
|
Form1.PopupNotifier9.ShowAtPos(NewWidth - 200 , NewHeight div 2 - 375);
|
||||||
Form1.TrayIcon5.Hint := 'Microphone Status' + LineEnding + 'Microphone is Hacked' + LineEnding + 'Check Logs';
|
Form1.TrayIcon5.Hint := 'Microphone Status' + LineEnding + 'Microphone is Hacked' + LineEnding + 'Check Logs';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -267,7 +267,7 @@ end;
|
||||||
procedure PopUpWebcamNotCapturing;
|
procedure PopUpWebcamNotCapturing;
|
||||||
begin
|
begin
|
||||||
Form1.PopupNotifier6.Text := 'Camera is not Capturing' + LineEnding + 'Video Device: /dev/video' + IntToStr(CountNumber)+ '/';
|
Form1.PopupNotifier6.Text := 'Camera is not Capturing' + LineEnding + 'Video Device: /dev/video' + IntToStr(CountNumber)+ '/';
|
||||||
Form1.PopupNotifier6.ShowAtPos(NewWidth - 100 , NewHeight div 2 - 550);
|
Form1.PopupNotifier6.ShowAtPos(NewWidth - 200 , NewHeight div 2 - 550);
|
||||||
Form1.TrayIcon5.Hint := 'Camera On' + LineEnding + 'Camera is Enabled, but is not Capturing';
|
Form1.TrayIcon5.Hint := 'Camera On' + LineEnding + 'Camera is Enabled, but is not Capturing';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -279,14 +279,14 @@ end;
|
||||||
procedure PopUpMicOn;
|
procedure PopUpMicOn;
|
||||||
begin
|
begin
|
||||||
Form1.PopupNotifier3.Text := 'Microphone is Unmuted' + LineEnding + 'Alsa Driver Status: cap';
|
Form1.PopupNotifier3.Text := 'Microphone is Unmuted' + LineEnding + 'Alsa Driver Status: cap';
|
||||||
Form1.PopupNotifier3.ShowAtPos(NewWidth - 100 , NewHeight div 2 - 375);
|
Form1.PopupNotifier3.ShowAtPos(NewWidth - 200 , NewHeight div 2 - 375);
|
||||||
Form1.TrayIcon2.Hint := 'Microphone Status & Menu' + LineEnding + 'Microphone is Unmuted';
|
Form1.TrayIcon2.Hint := 'Microphone Status & Menu' + LineEnding + 'Microphone is Unmuted';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure PopUpMicOff;
|
procedure PopUpMicOff;
|
||||||
begin
|
begin
|
||||||
Form1.PopupNotifier4.Text := 'Microphone is Muted' + LineEnding + 'Alsa Driver Status: nocap';
|
Form1.PopupNotifier4.Text := 'Microphone is Muted' + LineEnding + 'Alsa Driver Status: nocap';
|
||||||
Form1.PopupNotifier4.ShowAtPos(NewWidth - 100 , NewHeight div 2 - 375);
|
Form1.PopupNotifier4.ShowAtPos(NewWidth - 200 , NewHeight div 2 - 375);
|
||||||
Form1.TrayIcon2.Hint := 'Microphone Status & Menu' + LineEnding + 'Microphone is Muted';
|
Form1.TrayIcon2.Hint := 'Microphone Status & Menu' + LineEnding + 'Microphone is Muted';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -351,7 +351,8 @@ begin
|
||||||
AProcess.Options := AProcess.Options + [poWaitOnExit, poUsePipes];
|
AProcess.Options := AProcess.Options + [poWaitOnExit, poUsePipes];
|
||||||
AProcess.Execute;
|
AProcess.Execute;
|
||||||
AStringList.LoadFromStream(AProcess.Output);
|
AStringList.LoadFromStream(AProcess.Output);
|
||||||
ShowMessage('Pids List of ' + CaptureAppName + ':' + sLineBreak + AStringList.Text);
|
ShowMessage( 'Pids List of ' + CaptureAppName + ':' + sLineBreak +
|
||||||
|
'---------------------------' + sLineBreak + AStringList.Text);
|
||||||
|
|
||||||
j := 0;
|
j := 0;
|
||||||
while j <= AStringList.Count - 1 do
|
while j <= AStringList.Count - 1 do
|
||||||
|
@ -566,40 +567,84 @@ begin
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
Form1.MenuItem13.Visible := true;
|
if HasPassword = false then
|
||||||
if Length(Password2) > 0 then
|
begin
|
||||||
Form1.MenuItem37.Visible := true;
|
Form1.MenuItem13.Visible := true;
|
||||||
|
Form1.MenuItem37.Visible := false;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
Form1.MenuItem13.Visible := false;
|
||||||
|
Form1.MenuItem37.Visible := true;
|
||||||
|
end;
|
||||||
|
|
||||||
|
//if Length(Password2) > 0 then
|
||||||
|
// Form1.MenuItem37.Visible := true;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure NoCapturePassword;
|
||||||
|
var
|
||||||
|
MessageStr : string;
|
||||||
|
BoxStyle : integer;
|
||||||
|
Reply : integer;
|
||||||
|
|
||||||
|
begin
|
||||||
|
BoxStyle := MB_ICONEXCLAMATION + MB_OK;
|
||||||
|
Reply := Application.MessageBox ( 'The Application will catch and will' + sLineBreak +
|
||||||
|
'be able to kill, only Users Events.' + sLineBreak + ' ' + sLineBreak +
|
||||||
|
'For Better Protection, please provide' + sLineBreak +
|
||||||
|
'the sudo password, on the Menu at' + sLineBreak +
|
||||||
|
'Camera''s Indicator Menu', 'Camera Control for Linux', BoxStyle);
|
||||||
|
Form1.MenuItem38.Visible := true;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure PasswordInputQuery;
|
||||||
|
var
|
||||||
|
UserString : string;
|
||||||
|
|
||||||
|
begin
|
||||||
|
if InputQuery('Camera Control for Linux', 'For better functioning, please provide your sudo password', TRUE, UserString) then
|
||||||
|
begin
|
||||||
|
HasPassword := true;
|
||||||
|
Password := UserString;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
//NoCapturePassword;
|
||||||
|
WantsPassword := false;
|
||||||
|
Form1.MenuItem38.Visible := true;
|
||||||
|
HasPassword := false;
|
||||||
|
Password := '';
|
||||||
|
end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
procedure GetCapturePassword;
|
procedure GetCapturePassword;
|
||||||
begin
|
begin
|
||||||
if (HasPassword = true) and (WantsPassword = true) then
|
if (HasPassword = false) and (WantsPassword = true) then
|
||||||
begin
|
begin
|
||||||
|
PasswordInputQuery;
|
||||||
S := FpSystem(Concat('echo ', Password, ' | sudo -S sh -c "ls /root"'));
|
S := FpSystem(Concat('echo ', Password, ' | sudo -S sh -c "ls /root"'));
|
||||||
if S <> 0 then
|
if S <> 0 then
|
||||||
AskPassword
|
begin
|
||||||
|
WantsPassword := false;
|
||||||
|
Form1.MenuItem38.Visible := true;
|
||||||
|
HasPassword := false;
|
||||||
|
Password2 := '';
|
||||||
|
NoCapturePassword;
|
||||||
|
end
|
||||||
else
|
else
|
||||||
Password2 := Password;
|
begin
|
||||||
|
Password2 := Password;
|
||||||
WantsPassword := true;
|
WantsPassword := false;
|
||||||
end
|
Form1.MenuItem38.Visible := false;
|
||||||
else
|
HasPassword := true;
|
||||||
if (HasPassword = false) and (WantsPassword = true) then
|
ShowMessage( 'Password is Correct' + sLineBreak +
|
||||||
begin
|
'Now Kill Capturing (Sudo) is available' + sLineBreak +
|
||||||
AskPassword;
|
'on the Camera Indicator Menu');
|
||||||
S := FpSystem(Concat('echo ', Password, ' | sudo -S sh -c "ls /root"'));
|
end;
|
||||||
if S <> 0 then
|
end;
|
||||||
begin
|
|
||||||
ShowMessage('The Application will cath and will be able to kill, only Users Events.' + sLineBreak + 'For Better Protection, please Exit, re-run this application and provide sudo password');
|
|
||||||
WantsPassword := false;
|
|
||||||
end
|
|
||||||
else
|
|
||||||
begin
|
|
||||||
Password2 := Password;
|
|
||||||
WantsPassword := false;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TForm1.FormCreate(Sender: TObject);
|
procedure TForm1.FormCreate(Sender: TObject);
|
||||||
|
@ -632,6 +677,7 @@ begin
|
||||||
MenuItem37.Visible := false;
|
MenuItem37.Visible := false;
|
||||||
Password2 := '';
|
Password2 := '';
|
||||||
WantsPassword := true;
|
WantsPassword := true;
|
||||||
|
MenuItem38.Visible := false;
|
||||||
|
|
||||||
LogsStringList.Clear;
|
LogsStringList.Clear;
|
||||||
//Logs.Form3.StringGrid1.Clean;
|
//Logs.Form3.StringGrid1.Clean;
|
||||||
|
@ -656,7 +702,7 @@ begin
|
||||||
if CamStatus = 0 then // -> Camera is off
|
if CamStatus = 0 then // -> Camera is off
|
||||||
begin
|
begin
|
||||||
//ImageListCam.GetIcon(1, TrayIcon1.Icon);
|
//ImageListCam.GetIcon(1, TrayIcon1.Icon);
|
||||||
PopUpWebcamOff;
|
//PopUpWebcamOff;
|
||||||
ImageListCam1.GetIcon(0, TrayIcon5.Icon);
|
ImageListCam1.GetIcon(0, TrayIcon5.Icon);
|
||||||
CameraIcon := 0;
|
CameraIcon := 0;
|
||||||
//ShowMessage('Camera is Off or No Camera exists');
|
//ShowMessage('Camera is Off or No Camera exists');
|
||||||
|
@ -668,7 +714,7 @@ begin
|
||||||
if CamStatus = 1 then // -> Camera is On
|
if CamStatus = 1 then // -> Camera is On
|
||||||
begin
|
begin
|
||||||
//ImageListCam.GetIcon(0, TrayIcon1.Icon);
|
//ImageListCam.GetIcon(0, TrayIcon1.Icon);
|
||||||
PopUpWebcamOn;
|
//PopUpWebcamOn;
|
||||||
ImageListCam1.GetIcon(2, TrayIcon5.Icon);
|
ImageListCam1.GetIcon(2, TrayIcon5.Icon);
|
||||||
CameraIcon := 2;
|
CameraIcon := 2;
|
||||||
//ShowMessage('Camera is On');
|
//ShowMessage('Camera is On');
|
||||||
|
@ -680,8 +726,8 @@ begin
|
||||||
if CamStatus = 2 then // -> Camera is Capturing
|
if CamStatus = 2 then // -> Camera is Capturing
|
||||||
begin
|
begin
|
||||||
ActionTime := now;
|
ActionTime := now;
|
||||||
PopUpWebcamCaptures;
|
//PopUpWebcamCaptures;
|
||||||
PopUpWebcamCaptStatus := true;
|
//PopUpWebcamCaptStatus := true;
|
||||||
ImageListCam1.GetIcon(1, TrayIcon5.Icon);
|
ImageListCam1.GetIcon(1, TrayIcon5.Icon);
|
||||||
CameraIcon := 1;
|
CameraIcon := 1;
|
||||||
VideoCapt := true;
|
VideoCapt := true;
|
||||||
|
@ -698,7 +744,7 @@ begin
|
||||||
MicStatus := true;
|
MicStatus := true;
|
||||||
MicClicked := false;
|
MicClicked := false;
|
||||||
MicClicksCounter:= 0;
|
MicClicksCounter:= 0;
|
||||||
PopUpMicOn;
|
//PopUpMicOn;
|
||||||
MicIcon := 0;
|
MicIcon := 0;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -708,7 +754,7 @@ begin
|
||||||
MicStatus := false;
|
MicStatus := false;
|
||||||
MicClicked := false;
|
MicClicked := false;
|
||||||
MicClicksCounter:= 0;
|
MicClicksCounter:= 0;
|
||||||
PopUpMicOff;
|
//PopUpMicOff;
|
||||||
MicIcon := 1;
|
MicIcon := 1;
|
||||||
PopUpMenu6.Close;
|
PopUpMenu6.Close;
|
||||||
end;
|
end;
|
||||||
|
@ -779,6 +825,8 @@ procedure AskPassword;
|
||||||
begin
|
begin
|
||||||
Password := PasswordBox('Authorization Needed / User Input','Please Enter Password');
|
Password := PasswordBox('Authorization Needed / User Input','Please Enter Password');
|
||||||
HasPassword := True;
|
HasPassword := True;
|
||||||
|
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TForm1.MenuItem10Click(Sender: TObject); // Exit
|
procedure TForm1.MenuItem10Click(Sender: TObject); // Exit
|
||||||
|
@ -820,6 +868,57 @@ begin
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure MenuPasswordInputQuery;
|
||||||
|
var
|
||||||
|
UserString2 : string;
|
||||||
|
|
||||||
|
begin
|
||||||
|
if InputQuery('Camera Control for Linux', 'For better functioning, please provide your sudo password', TRUE, UserString2) then
|
||||||
|
begin
|
||||||
|
HasPassword := true;
|
||||||
|
Password := UserString2;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
//NoCapturePassword;
|
||||||
|
Form1.MenuItem38.Visible := true;
|
||||||
|
Password := '';
|
||||||
|
end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure MenuGetCapturePassword;
|
||||||
|
begin
|
||||||
|
if (HasPassword = false) then
|
||||||
|
begin
|
||||||
|
MenuPasswordInputQuery;
|
||||||
|
S := FpSystem(Concat('echo ', Password, ' | sudo -S sh -c "ls /root"'));
|
||||||
|
if S <> 0 then
|
||||||
|
begin
|
||||||
|
Form1.MenuItem38.Visible := true;
|
||||||
|
HasPassword := false;
|
||||||
|
Password2 := '';
|
||||||
|
NoCapturePassword;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
Password2 := Password;
|
||||||
|
Form1.MenuItem38.Visible := false;
|
||||||
|
HasPassword := true;
|
||||||
|
ShowMessage( 'Password is Correct' + sLineBreak +
|
||||||
|
'Now Kill Capturing (Sudo) is available' + sLineBreak +
|
||||||
|
'on the Camera Indicator Menu');
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TForm1.MenuItem38Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if (HasPassword = false) then
|
||||||
|
MenuGetCapturePassword;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
procedure DeleteOldLogs; // Deletes old Log files
|
procedure DeleteOldLogs; // Deletes old Log files
|
||||||
var
|
var
|
||||||
SearchResult : TSearchRec;
|
SearchResult : TSearchRec;
|
||||||
|
@ -1351,6 +1450,15 @@ begin
|
||||||
PopUpMenu6.PopUp;
|
PopUpMenu6.PopUp;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TForm1.UniqueInstance1OtherInstance(Sender: TObject;
|
||||||
|
ParamCount: Integer;
|
||||||
|
const Parameters: array of String);
|
||||||
|
begin
|
||||||
|
ShowMessage ( 'Another instance of Camera Control is running' + sLineBreak +
|
||||||
|
'Please close it and then run me again' );
|
||||||
|
Halt(0);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure CheckEvents; // Check Statuses and External Events Notifications and Logs
|
procedure CheckEvents; // Check Statuses and External Events Notifications and Logs
|
||||||
var
|
var
|
||||||
HackedTime : TDateTime;
|
HackedTime : TDateTime;
|
||||||
|
@ -1381,6 +1489,7 @@ begin
|
||||||
+ RightStr(DateTimeToStr(ActionTime), 8), 'Camera is Off', IntToStr(VideoDevicesNumber)]);
|
+ RightStr(DateTimeToStr(ActionTime), 8), 'Camera is Off', IntToStr(VideoDevicesNumber)]);
|
||||||
AppendLogs;
|
AppendLogs;
|
||||||
Inc(GridLine);
|
Inc(GridLine);
|
||||||
|
PopUpWebcamOff;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
if CamStatus = 1 then
|
if CamStatus = 1 then
|
||||||
|
@ -1390,6 +1499,7 @@ begin
|
||||||
+ RightStr(DateTimeToStr(ActionTime), 8), 'Camera is On', IntToStr(VideoDevicesNumber)]);
|
+ RightStr(DateTimeToStr(ActionTime), 8), 'Camera is On', IntToStr(VideoDevicesNumber)]);
|
||||||
AppendLogs;
|
AppendLogs;
|
||||||
Inc(GridLine);
|
Inc(GridLine);
|
||||||
|
PopUpWebcamOn;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
if CamStatus = 2 then
|
if CamStatus = 2 then
|
||||||
|
@ -1399,6 +1509,8 @@ begin
|
||||||
+ RightStr(DateTimeToStr(ActionTime), 8), 'Camera is Captuting, by ' + CaptureAppName, IntToStr(VideoDevicesNumber)]);
|
+ RightStr(DateTimeToStr(ActionTime), 8), 'Camera is Captuting, by ' + CaptureAppName, IntToStr(VideoDevicesNumber)]);
|
||||||
AppendLogs;
|
AppendLogs;
|
||||||
Inc(GridLine);
|
Inc(GridLine);
|
||||||
|
PopUpWebcamCaptures;
|
||||||
|
PopUpWebcamCaptStatus := true;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
If MicStatus = true then
|
If MicStatus = true then
|
||||||
|
@ -1408,6 +1520,7 @@ begin
|
||||||
+ RightStr(DateTimeToStr(ActionTime), 8), 'Microphone is Unmuted', IntToStr(VideoDevicesNumber)]);
|
+ RightStr(DateTimeToStr(ActionTime), 8), 'Microphone is Unmuted', IntToStr(VideoDevicesNumber)]);
|
||||||
AppendLogs;
|
AppendLogs;
|
||||||
Inc(GridLine);
|
Inc(GridLine);
|
||||||
|
PopUpMicOn;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
If MicStatus = false then
|
If MicStatus = false then
|
||||||
|
@ -1417,6 +1530,7 @@ begin
|
||||||
+ RightStr(DateTimeToStr(ActionTime), 8), 'Microphone is Muted', IntToStr(VideoDevicesNumber)]);
|
+ RightStr(DateTimeToStr(ActionTime), 8), 'Microphone is Muted', IntToStr(VideoDevicesNumber)]);
|
||||||
AppendLogs;
|
AppendLogs;
|
||||||
Inc(GridLine);
|
Inc(GridLine);
|
||||||
|
PopUpMicOff;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
FromMain := false;
|
FromMain := false;
|
||||||
|
|
Loading…
Reference in New Issue