Ureader.com  
Microsoft software help and Community
   home   |   control panel login   |   archive   |  
 
Windos
win32.3rdparty
win32.directx.audio
win32.directx.ddk
win32.directx.graphics
win32.directx.input
win32.directx.managed
win32.directx.misc
win32.directx.networking
win32.directx.sdk
win32.directx.video
win32.dirx.grap.shaders
win32.gdi
win32.international
win32.kernel
win32.messaging
win32.mmedia
win32.networks
win32.ole
win32.rtc
win32.tapi
win32.tapi.beta
win32.tools
win32.ui
win32.wince
win32.wmi
windows.mediacenter
winfx.aero
winfx.announcements
winfx.avalon
winfx.collaboration
winfx.fundamentals
winfx.general
winfx.indigo
winfx.sdk
winfx.winfs
  
 
date: Sat, 6 Sep 2008 19:43:53 -0400,    group: microsoft.public.win32.programmer.ui        back       


TaskDialog   
Vista's file overwrite confirmation dialog looks and smells like a 
TaskDialog, but the three command links ("Copy and overwrite", "Don't copy", 
and "Copy but keep both files") have icons and text with formatting (bold, 
colored, etc.).

I can't find documentation that says you can put anything in the command 
links other than plain text, and nothing I've tried has worked.

Does anyone know how this works? Or is the overwrite dialog actually not a 
TaskDialog?

TIA,
ChrisD
date: Sat, 6 Sep 2008 19:43:53 -0400   author:   ChrisD am

RE: TaskDialog   
Hi ChrisD,

The implementation internals of explorer.exe is normally referred to as 
Windows shell technology, so I think you will get better help from 
platformsdk.shell newsgroup. 

Anyway, I have performed some research on this issue and I do not believe 
shell's "Copy Files" conflict dialog is implemented by 
comtrl32!TaskDialog(). For example, when I got the "Copy Files" dialog, I 
use windbg and break the explorer.exe process. Below is the thread that is 
responsible for showing this dialog:

ChildEBP RetAddr  
082ddf18 76f79244 ntdll!KiFastSystemCallRet
082ddf1c 7607c3e4 ntdll!ZwWaitForMultipleObjects+0xc
082ddfb8 76d10208 kernel32!WaitForMultipleObjectsEx+0x11d
082de00c 747b161e USER32!RealMsgWaitForMultipleObjectsEx+0x13c
082de02c 747b29b0 DUser!CoreSC::Wait+0x59
082de054 747b294f DUser!CoreSC::WaitMessage+0x54
082de064 76cfb0da DUser!MphWaitMessageEx+0x22
082de080 76f799ce USER32!__ClientWaitMessageExMPH+0x1e
082de09c 76d10dde ntdll!KiUserCallbackDispatcher+0x2e
082de0a0 76cfb0b2 USER32!NtUserWaitMessage+0xc
082de0d4 76cfbcda USER32!DialogBox2+0x202
082de0fc 76cfbd1c USER32!InternalDialogBox+0xd0
082de11c 76d12014 USER32!DialogBoxIndirectParamAorW+0x37
082de140 761d015f USER32!DialogBoxParamW+0x3f
082de164 763cf0af SHELL32!SHFusionDialogBoxParam+0x32
082de220 76398896 SHELL32!CConflictResolutionDlg::ShowDialog+0xcb
082de238 76338d2d SHELL32!CTransferConfirmationProxy::ConfirmConflict+0x16
082de29c 76338f0b SHELL32!CFileOperation::_ResolveConflict+0x9f
082de30c 762a30e2 SHELL32!CFileOperation::_ConfirmOrResolve+0x63
082de618 7611722a SHELL32!CFileOperation::PromptUserOrQueue+0x496
082de648 76339976 SHELL32!CCopyWorkItem::_ConfirmWorker+0x36
082de6b0 76333b36 SHELL32!CCopyWorkItem::ConfirmOverwrite+0x176
082de6dc 76335ac5 SHELL32!CBaseOperation::_ConfirmOverwrite+0x49
082de6f4 76335b42 SHELL32!CBaseOperation::_CheckDestinationCreateError+0xc8
082de710 7628da4e SHELL32!CCopyOperation::_HandleDestinationCreateError+0x1a
082defd0 7615bc73 SHELL32!CCopyOperation::Do+0x51b
082df014 7615ba09 SHELL32!CCopyWorkItem::_DoOperation+0xa6
082df25c 7615a504 SHELL32!CCopyWorkItem::_SetupAndPerformOp+0x152
082df498 7633aad9 SHELL32!CCopyWorkItem::ProcessWorkItem+0x136
082df4a8 7633ab0c SHELL32!CCopyWorkItem::ProcessRestoredItem+0x21
082df4b8 762a3f5a 
SHELL32!CRecursiveFolderOperation::ProcessRestoredOperation+0x2a
082df514 7633ad7d SHELL32!CFileOperation::PrepareAndDoOperations+0x32e
082df534 763032a8 SHELL32!CFileOperation::PerformOperations+0xd5
082df564 763e0d76 SHELL32!SHFileOperationEx+0xf2
082df5b0 763e13a7 SHELL32!CFSDropTargetHelper::_MoveCopyHIDA+0xf3
082df7fc 763e148c SHELL32!CFSDropTargetHelper::_Drop+0x28e
082df808 76dac6dc SHELL32!CFSDropTargetHelper::s_DoDropThreadProc+0x1f
082df88c 76074911 SHLWAPI!WrapperThreadProc+0x11c
082df898 76f5e4b6 kernel32!BaseThreadInitThunk+0xe
082df8d8 76f5e489 ntdll!__RtlUserThreadStart+0x23
082df8f0 00000000 ntdll!_RtlUserThreadStart+0x1b

As we can see, the shell process uses the internal 
SHELL32!CConflictResolutionDlg::ShowDialog() to show the "Copy Files" 
dialog. So I assume the shell explorer process implements this dialog 
itself. 

Thanks.

Best regards,
Jeffrey Tan
Microsoft Online Community Support

Delighting our customers is our #1 priority. We welcome your comments and 
suggestions about how we can improve the support we provide to you. Please 
feel free to let my manager know what you think of the level of service 
provided. You can send feedback directly to my manager at: 
msdnmg@microsoft.com.
==================================================
Get notification to my posts through email? Please refer to 
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues 
where an initial response from the community or a Microsoft Support 
Engineer within 1 business day is acceptable. Please note that each follow 
up response may take approximately 2 business days as the support 
professional working with you may need further investigation to reach the 
most efficient resolution. The offering is not appropriate for situations 
that require urgent, real-time or phone-based interactions or complex 
project analysis and dump analysis issues. Issues of this nature are best 
handled working with a dedicated Microsoft Support Engineer by contacting 
Microsoft Customer Support Services (CSS) at 
http://msdn.microsoft.com/subscriptions/support/default.aspx.
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
date: Mon, 08 Sep 2008 03:07:38 GMT   author:   (Jeffrey Tan[MSFT])

RE: TaskDialog   
Hi Chris,

How about this issue now? Have you reviewed my reply to you? If you still 
need any help, please feel free to feedback, thanks.

Best regards,
Jeffrey Tan
Microsoft Online Community Support
=========================================
Delighting our customers is our #1 priority. We welcome your comments and 
suggestions about how we can improve the support we provide to you. Please 
feel free to let my manager know what you think of the level of service 
provided. You can send feedback directly to my manager at: 
msdnmg@microsoft.com.

This posting is provided "AS IS" with no warranties, and confers no rights.
date: Thu, 11 Sep 2008 03:18:41 GMT   author:   (Jeffrey Tan[MSFT])

Google
 
Web ureader.com


    COPYRIGHT 2007, YARDI TECHNOLOGY LIMITED, ALL RIGHT RESERVE  |   contact us