修复打开图片线程BUG
This commit is contained in:
parent
87d975f523
commit
cc8dd9085c
|
@ -32,6 +32,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_TWAIN_App", "..\..\doc
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "saneui", "..\..\doc_and_tools\tools\apps\saneui\saneui.vcxproj", "{9C925903-62C0-4517-B435-93F6291E2D27}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "saneui", "..\..\doc_and_tools\tools\apps\saneui\saneui.vcxproj", "{9C925903-62C0-4517-B435-93F6291E2D27}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pic_viewer", "..\..\doc_and_tools\tools\apps\pic_viewer\pic_viewer.vcxproj", "{8C3DEF78-4DF1-4C26-A11E-7031FF77391C}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|x64 = Debug|x64
|
Debug|x64 = Debug|x64
|
||||||
|
@ -102,6 +104,14 @@ Global
|
||||||
{9C925903-62C0-4517-B435-93F6291E2D27}.Release|x64.Build.0 = Release|x64
|
{9C925903-62C0-4517-B435-93F6291E2D27}.Release|x64.Build.0 = Release|x64
|
||||||
{9C925903-62C0-4517-B435-93F6291E2D27}.Release|x86.ActiveCfg = Release|Win32
|
{9C925903-62C0-4517-B435-93F6291E2D27}.Release|x86.ActiveCfg = Release|Win32
|
||||||
{9C925903-62C0-4517-B435-93F6291E2D27}.Release|x86.Build.0 = Release|Win32
|
{9C925903-62C0-4517-B435-93F6291E2D27}.Release|x86.Build.0 = Release|Win32
|
||||||
|
{8C3DEF78-4DF1-4C26-A11E-7031FF77391C}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{8C3DEF78-4DF1-4C26-A11E-7031FF77391C}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{8C3DEF78-4DF1-4C26-A11E-7031FF77391C}.Debug|x86.ActiveCfg = Debug|Win32
|
||||||
|
{8C3DEF78-4DF1-4C26-A11E-7031FF77391C}.Debug|x86.Build.0 = Debug|Win32
|
||||||
|
{8C3DEF78-4DF1-4C26-A11E-7031FF77391C}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{8C3DEF78-4DF1-4C26-A11E-7031FF77391C}.Release|x64.Build.0 = Release|x64
|
||||||
|
{8C3DEF78-4DF1-4C26-A11E-7031FF77391C}.Release|x86.ActiveCfg = Release|Win32
|
||||||
|
{8C3DEF78-4DF1-4C26-A11E-7031FF77391C}.Release|x86.Build.0 = Release|Win32
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
@ -115,6 +125,7 @@ Global
|
||||||
{4C912767-88BE-463E-BFFC-AF994A92E425} = {53E5EDD9-13BA-4F3C-A387-C73CB06C686D}
|
{4C912767-88BE-463E-BFFC-AF994A92E425} = {53E5EDD9-13BA-4F3C-A387-C73CB06C686D}
|
||||||
{8C3DEF78-4DF1-4C26-A11E-7031FF773E7D} = {53E5EDD9-13BA-4F3C-A387-C73CB06C686D}
|
{8C3DEF78-4DF1-4C26-A11E-7031FF773E7D} = {53E5EDD9-13BA-4F3C-A387-C73CB06C686D}
|
||||||
{9C925903-62C0-4517-B435-93F6291E2D27} = {53E5EDD9-13BA-4F3C-A387-C73CB06C686D}
|
{9C925903-62C0-4517-B435-93F6291E2D27} = {53E5EDD9-13BA-4F3C-A387-C73CB06C686D}
|
||||||
|
{8C3DEF78-4DF1-4C26-A11E-7031FF77391C} = {53E5EDD9-13BA-4F3C-A387-C73CB06C686D}
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
SolutionGuid = {A89068FF-95C4-3C1E-B126-70B66C9824BB}
|
SolutionGuid = {A89068FF-95C4-3C1E-B126-70B66C9824BB}
|
||||||
|
|
|
@ -722,12 +722,13 @@ static DWORD thread_open_id_ = 0;
|
||||||
static safe_fifo<std::wstring> images_("images");
|
static safe_fifo<std::wstring> images_("images");
|
||||||
static DWORD WINAPI thread_open_image(void* lp)
|
static DWORD WINAPI thread_open_image(void* lp)
|
||||||
{
|
{
|
||||||
|
thread_open_id_ = GetCurrentThreadId();
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
std::wstring file(L"");
|
std::wstring file(L"");
|
||||||
if (images_.take(file, true))
|
if (images_.take(file, true))
|
||||||
ShellExecuteW(NULL, L"Open", file.c_str(), NULL, NULL, SW_SHOWNORMAL);
|
ShellExecuteW(NULL, L"Open", file.c_str(), NULL, NULL, SW_SHOWNORMAL);
|
||||||
else
|
else if(thread_open_id_ == 0)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -781,6 +782,7 @@ CDlgScanner::CDlgScanner(CWnd* pParent /*=nullptr*/)
|
||||||
CDlgScanner::~CDlgScanner()
|
CDlgScanner::~CDlgScanner()
|
||||||
{
|
{
|
||||||
::PostThreadMessage(thread_open_id_, WM_USER + 1001, 0, 0);
|
::PostThreadMessage(thread_open_id_, WM_USER + 1001, 0, 0);
|
||||||
|
thread_open_id_ = 0;
|
||||||
images_.trigger();
|
images_.trigger();
|
||||||
if (scanner_)
|
if (scanner_)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue