-
Content Count
42 -
Joined
-
Last visited
Community Reputation
1 NeutralAbout Turan Can
- Birthday 03/01/1870
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
-
Lars, Thanks for information I will investigate a little more. Because I only have problems with renewal refresh explorer icon cache. I hope I will find a method 🙂 https://docs.microsoft.com/en-us/windows/uwp/launch-resume/launch-settings-app ms-settings:taskbar "explorer shell:::{05d7b0f4-2121-4eff-bf6b-ed3f69b894d9}" Shell execute list https://winaero.com/blog/clsid-guid-shell-list-windows-10/
-
Hallo David, Ik heb een simpel probleem. This method you sent has worked. https://stackoverflow.com/questions/7877435/set-tray-icon-to-always-show I added the software to the trayicon section without the need for Windows settings. I have to do this for the icon to appear. Turn "Explorer.exe" on / off. Opening and closing the "Explorer.exe" file bothers the user. How can I renew "Explorer.exe" without closing / opening it?
-
Hi All, What to do to reload the tray icon? I haven't tried 3 different methods, is there any different idea? The icon is inactive because my application started late. If I do this, the problem will be fixed. However, this is frustrating at every opening. taskkill /f /im explorer.exe start explorer.exe The methods I tried. ie4uinit.exe -ClearIconCache ie4uinit.exe -show CD /d %userprofile%\AppData\Local DEL IconCache.db /a EXIT https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shchangenotify SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, SPI_SETNONCLIENTMETRICS, 0, SMTO_ABORTIFHUNG, 100000, nil); SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil); https://superuser.com/questions/499078/refresh-icon-cache-without-rebooting https://github.com/crazy-max/IconsRefresh
-
Form.PixelsPerInch is no longer used in Delphi 10.3 while scaling
Turan Can replied to Ramu's topic in VCL
Make this setting for your previous version project. If this doesn't solve your problem, you should take advantage of "SetProcessDPIAware" api. -
Job Voice AEC ECHO cancellation, helper
Turan Can posted a topic in Job Opportunities / Coder for Hire
Hi, Audio Transfer AEC ECHO cancellation. Vois Peer to peer, I did the sound transfer, but when the sound is turned on both sides, it starts mixing after a certain time. This is because the microphone listens to the sound coming from the speaker. An expert friend who can write paid, clean code is required. The echo is created due to the reflow of the incoming sound during mutual voice communication. To prevent this, I need the AEC eco function. As seen in the pictures below, this is my problem. I need a cleaner like the one below. Delphi Sample: InEchoClean(microphone, speaker, out.... bla bla Auxiliary documents are available in the links below. MSDN: https://docs.microsoft.com/en-us/windows-hardware/drivers/audio/aec-system-filter https://github.com/RuudErmers/DelphiASIOVST-64-bit-Examples-2018/tree/master/DelphiASIOVST-v1.4 http://www.voip-sip-sdk.com/p_373-how-to-implement-voip-acoustic-echo-cancellation-voip.html http://startrinity.com/OpenSource/Aec/AecVadNoiseSuppressionLibrary.aspx https://github.com/xiph/speexdsp/tree/master/libspeexdsp -
procedure TfmBar1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin OnBaseMove(Button, Self.Handle); end; procedure TfmBar1.FormPaint(Sender: TObject); begin OnBasePaint(ClientWidth, ClientHeight, Canvas); end; procedure TfmBar1.FormShow(Sender: TObject); begin FClSys.OnMenuEvent := MenuEvent; BorderStyle := bsNone; end; procedure TfmBar1.OnBaseMove(Button: TMouseButton; Handle: HWND); begin if Button = mbLeft then begin ReleaseCapture; SendMessage(Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0); end; end; procedure TfmBar1.OnBasePaint(ClientWidth, ClientHeight: Integer; Canvas: TCanvas); var Rect: TRect; begin Rect.Left := 0; Rect.Top := 0; Rect.Bottom := ClientHeight; Rect.Right := ClientWidth; with Canvas do begin Pen.Width := 1; Brush.Color := $00000000; Pen.Color := $006B6B6B; Rectangle(0, 0, ClientWidth, ClientHeight); end; end;
-
unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls; type TForm1 = class(TForm) Edit1: TEdit; procedure FormCreate(Sender: TObject); procedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); private procedure CreateFlatRoundRgn; procedure CreateParams(var Params: TCreateParams); override; { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure ExcludeRectRgn(var Rgn: HRGN; LeftRect, TopRect, RightRect, BottomRect: Integer); var RgnEx: HRGN; begin RgnEx := CreateRectRgn(LeftRect, TopRect, RightRect, BottomRect); CombineRgn(Rgn, Rgn, RgnEx, RGN_OR); DeleteObject(RgnEx); end; procedure TForm1.CreateFlatRoundRgn; const CORNER_SIZE = 6; var Rgn: HRGN; begin with BoundsRect do begin Rgn := CreateRoundRectRgn(0, 0, Right - Left + 1, Bottom - Top + 1, CORNER_SIZE, CORNER_SIZE); // exclude left-bottom corner ExcludeRectRgn(Rgn, 0, Bottom - Top - CORNER_SIZE div 4, CORNER_SIZE div 4, Bottom - Top + 1); // exclude right-bottom corner ExcludeRectRgn(Rgn, Right - Left - CORNER_SIZE div 4, Bottom - Top - CORNER_SIZE div 4, Right - Left , Bottom - Top); end; // the operating system owns the region, delete the Rgn only SetWindowRgn fails if SetWindowRgn(Handle, Rgn, True) = 0 then DeleteObject(Rgn); end; procedure TForm1.CreateParams(var Params: TCreateParams); const CS_DROPSHADOW = $00020000; begin inherited CreateParams(Params); with Params do begin Style := WS_POPUP; WindowClass.Style := WindowClass.Style or CS_DROPSHADOW; end; end; procedure TForm1.FormCreate(Sender: TObject); begin //BorderStyle := bsNone; CreateFlatRoundRgn; end; procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if Button = mbLeft then begin ReleaseCapture; SendMessage(Self.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0); end; end; end.
-
Windows VCL
-
if IsActive then SystemParametersInfo(SPI_SETDROPSHADOW, 0, nil, 0); else begin SystemParametersInfo(SPI_SETDROPSHADOW, 0, PChar(''), 0); end;
-
Hi All, My only problem is AEC. I couldn't find much information. I'm dealing with voice transfer, I did everything. I have a problem. As the two sides begin to speak, voices begin to mingle. As I understand it, it echoes. Is there a code example that clears it? Or "AEC Echo Cancellation" in a sdk. may be in paid product.
-
I guess I will not find sample code. I gave freelancer as a job.
-
If you are using the above management, "" you don't need it. remove. Application.ProcessMessages; unit Sequence; interface uses System.Classes, Winapi.Messages; type TOnSequenceEvent = procedure(Text: string) of object; type TSequence = class(TThread) private FHandle: THandle; FOnSequenceEvent: TOnSequenceEvent; procedure SequenceEvent(Text: string); public constructor Create; overload; destructor Destroy; override; published property OnSequenceEvent: TOnSequenceEvent read FOnSequenceEvent write FOnSequenceEvent; end; implementation { TSequence } constructor TSequence.Create; begin inherited Create; end; destructor TSequence.Destroy; begin inherited; end; procedure TSequence.SequenceEvent(Text: string); begin if Assigned(FOnSequenceEvent) then FOnSequenceEvent(Text); end; end.
-
You probably get an authorization message from both. I recommend you to close it one by one and try it. LogWrite(stat, true, true); FrmMain.memStatus.Lines.Add(stat); 1, First, the "log writer" write error might be returning. authorization may have changed. HDD or SSD permisssion ...! LogWrite(stat, true, true); 2, If the problem is here. New Windows updates have controls for "thread" access. FrmMain.memStatus.Lines.Add(stat); 2, I suggest you look at the create line in "thread". constructor TSequence.Create; begin inherited Create; FHandle := AllocateHWnd(WndProc); end; I recommend changing the code by giving a few minutes. As I understand you are posting a message from the "thread" to the forum. unit Sequence; interface uses System.Classes, Winapi.Messages; type TOnSequenceEvent = procedure(Text: string) of object; type TSequence = class(TThread) private FHandle: THandle; FOnSequenceEvent: TOnSequenceEvent; procedure WndProc(var Message: TMessage); procedure SequenceEvent(Text: string); public constructor Create; overload; destructor Destroy; override; published property OnSequenceEvent: TOnSequenceEvent read FOnSequenceEvent write FOnSequenceEvent; protected procedure Execute; override; end; implementation { TSequence } constructor TSequence.Create; begin inherited Create; FHandle := AllocateHWnd(WndProc); end; destructor TSequence.Destroy; begin if FHandle > 0 Then DeallocateHWnd(FHandle); inherited; end; procedure TSequence.WndProc(var Message: TMessage); begin try Dispatch(Message); except if Assigned(ApplicationHandleException) then ApplicationHandleException(Self); end; end; procedure TSequence.SequenceEvent(Text: string); begin if Assigned(FOnSequenceEvent) then FOnSequenceEvent(Text); end; procedure TSequence.Execute; begin { Place thread code here } end; end.
-
All, Thank you very much for your answers. I want the app to be active. Not in dropdown menu. I want to fix it to stand next to voice or wifi. I want to activate the taskbar automatically. Sherlock, in the picture you sent; Stormversorgung Ein or On enabled sample : SendMessage(hwd, blaa blaa ... Shellnotify .. I need a sample code.
-
Hi All, I want it to stay fixed on the Taskbar. A code sample is required to remain fixed.