我有同樣的問題。 Delphi應用程序停止響應沒有任何明顯的原因。從madExcept查看堆棧跟蹤,我可以看到應用程序在nview.dll中凍結。我找到的唯一「解決方案」是尋找nView,並建議用戶使用下面的代碼關閉它:
function CheckForNview: Boolean;
function IsNviewModuleRunning(AHandle: THandle; AProcessId: DWord): Boolean;
var
AModuleEntry: TModuleEntry32;
begin
AModuleEntry.dwSize := SizeOf(AModuleEntry);
AModuleEntry.th32ProcessID := AProcessId;
Result := False;
if Module32First(AHandle, AModuleEntry) then
begin
if SameStr(AModuleEntry.szModule, 'nview.dll') then
Result := True;
while Module32Next(AHandle, AModuleEntry) do
begin
if SameStr(AModuleEntry.szModule, 'nview.dll') then
Result := True;
end;
end;
end;
var
AHandle: THandle;
AProcessEntry: TProcessEntry32;
begin
Result := False;
AHandle := CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0);
if Process32First(AHandle, AProcessEntry) then
begin
if SameStr(AProcessEntry.szExeFile, ExtractFileName(ParamStr(0))) then
Result := Result or IsNviewModuleRunning(AHandle, AProcessEntry.th32ProcessID);
while Process32Next(AHandle, AProcessEntry) do
begin
if SameStr(AProcessEntry.szExeFile, ExtractFileName(ParamStr(0))) then
Result := Result or IsNviewModuleRunning(AHandle, AProcessEntry.th32ProcessID);
end;
end;
我已經完全設置。剛剛寫了一個小應用程序來做你所描述的,不幸的是,你的預期行爲沒有發生。當我將主窗體拖到第二臺顯示器時,它是唯一可見的。儘管使用Delphi 6。 NVIDIA nView桌面管理器v105.31。 –
謝謝。你只是拖動應用程序?您需要使用nView命令「將其發送到其他監視器」來解決問題。 – MarkF