[dba-Tech] Windows XP - Windows Picture and FaxViewer-Nameand pathof the exe file

MartyConnelly martyconnelly at shaw.ca
Sun Dec 5 11:47:27 CST 2004


I was looking for something else at microsoft the other day and the help 
file for MODI  just caught my eye.
I have a bunch of records mangers that are interested in this stuff.
Here is another method I was testing to open pdfs at a specific page and 
tiff images.
It just opens up IE at a blank page about:blank then uses IE document 
commands for placement of the image.
You can set the IE windows size height and width and placement under 
code control
The trouble is a tiff maybe opened up from IE via quicktime, depends on 
the extension file association on the PC
I don't know if this is of any use to you.

Sub testIEPDF()
'------------------
' qfcheck.vbs   ver 1.0  3-Dec-2003
' Check Automatic Update Installation History

'------------------
'http://www.microsoft.com/technet/treeview/default.asp?url=/technet/scriptcenter/logs/scrlog08.asp
'If you add a reference to "Microsoft Internet Controls"
'(SHDOCVW.DLL) you should be able to do:


'   Public IE As InternetExplorer
'   Set IE = New InternetExplorer

' see wmi HotFix

Dim objExplorer As Object
Dim objDocument As Object
Dim strComputer As String
Dim objWMIService As Object
Dim colLoggedEvents As Object
Dim objEvent As Object
Dim dtmDate As Variant
Dim strReturn As String

Set objExplorer = CreateObject("InternetExplorer.Application")
'Set objDocument = objExplorer.Document
objExplorer.Navigate "about:blank"
objExplorer.Toolbar = False
objExplorer.StatusBar = False
objExplorer.MenuBar = True
objExplorer.FullScreen = False
objExplorer.AddressBar = False
'here is where you can set the forms image size
objExplorer.Width = 800
objExplorer.Height = 570
objExplorer.Left = 0
objExplorer.Top = 0
objExplorer.Visible = 1
'objExplorer.Navigate "http://www.Viescas.com/"
'objExplorer.Navigate "192.168.0.1/st_devic.html"
'objExplorer.navigate "http://checkip.dyndns.org/"
'objExplorer.navigate "http://www.adobe.com/prodlist.pdf#page=3"
'objExplorer.navigate "C:\records management\aircanadacasestudy.pdf#page=4"
'objExplorer.navigate "C:\records management\Copy of rim_guide_sarbanes.xls"
'objExplorer.Navigate 
"http://www.swimseattle.org/Forms/ScholorshipPolicy2003-2004.pdf"
'objExplorer.Navigate "file://C:\records 
management\aircanadacasestudy.pdf#page=3"
'objExplorer.navigate "C:\records management\aircanadacasestudy.pdf#page=2"
'objExplorer.Navigate 
"http://www.adobe.com/products/server/pdfs/customer_FAQ.pdf#page=3&zoom=200,250,100"

objExplorer.Navigate "C:\Documents and Settings\marty\My Documents\My 
Pictures\VS.tif"

'objExplorer.Navigate "res://msxml.dll/defaultss.xsl"
Do While (objExplorer.Busy)
Loop
Dim webtx As String
Dim strHTML As String
Set objDocument = objExplorer.Document
'objDocument.Open 'use this if you want to display your own html
' webtx = objExplorer.Document.body.innertext
'webtx = objExplorer.Document.body
'strHTML = objExplorer.Document.BODY.parentElement.outerHTML
'Works ok for non-frames pages... like above checkip.dynds.org

' Debug.Print strHTML
' Debug.Print "*" & strHTML
'objDocument.Writeln "<html><head><title>Automatic Updates Installation 
History</title></head>"
'objDocument.Writeln "<body bgcolor='white'>"
'objDocument.Writeln "<table width='100%'>"
'objDocument.Writeln "<tr>"
'objDocument.Writeln "<td width='20%'><b>Computer Name</b></td>"
'objDocument.Writeln "<td width='50%'><b>Installed Update(s)</b></td>"
'objDocument.Writeln "<td width='50%'><b>Date and Time Installed</b></td>"
'objDocument.Writeln "</tr>"
''objDocument.Writeln "<tr> <td " & _
'
'objDocument.Writeln "<tr>" & _
' "<a 
href=""http://www.amazon.com/exec/obidos/ASIN/0735612846/viescaconsulinc/"">""Book 
URL""</a>"
'objDocument.Writeln "</td> </tr> "
'strComputer = "."
'Set objWMIService = GetObject("winmgmts:" _
'    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
'    'IE Event code=19 WinXP=4377
'Set colLoggedEvents = objWMIService.ExecQuery _
'        ("SELECT * FROM Win32_NTLogEvent WHERE Logfile = 'System' AND " _
'            & "EventCode = '19' OR EventCode = '4377'")
'Dim i As Long
'For Each objEvent In colLoggedEvents
'    dtmDate = objEvent.TimeWritten
'    strReturn = WMIDateStringTodate(dtmDate)

 '   objDocument.Writeln "<tr>"
 '   objDocument.Writeln "<td width='20%'>" & objEvent.ComputerName & 
"</td>"
 '   objDocument.Writeln "<td width='50%'>" & objEvent.Message & "</td>"
 '   objDocument.Writeln "<td width='50%'>" & strReturn & "</td>"
 '   objDocument.Writeln "</tr>"
 '   i = i + 1
'Next
'Debug.Print "no of events=" & i
'objDocument.Writeln "</table>"
'objDocument.Writeln "</body></html>"
'objDocument.Write()
objDocument.Close
MsgBox "finished"
Set objExplorer = Nothing
Set objDocument = Nothing
Set objWMIService = Nothing
Set colLoggedEvents = Nothing
Set objEvent = Nothing
End Sub

A.D.Tejpal wrote:

>    My sincere thanks Marty! I must compliment your wonderful ability to provide such a wealth of relevant information, so consistently.
>
>     I would examine further on the lines indicated by you. Apparently, there is no magic bullet (universal API call) that could convert any currently active window into true full screen display - irrespective of the parent application to which such window might belong.
>
>Thanks again,
>A.D.Tejpal
>--------------    
>
>  ----- Original Message ----- 
>  From: MartyConnelly 
>  To: Discussion of Hardware and Software issues 
>  Sent: Sunday, December 05, 2004 04:30
>  Subject: Re: [dba-Tech] Windows XP - Windows Picture and FaxViewer-Nameand pathof the exe file
>
>
>  Haven't had a chance to play around with this yet but with Office 2003 there is a new control called MODI
>  Microsoft Office Document Imaging , it might have been available in Office XP but  without an exposed API.
>  I believe it is a free license but then my legal advice is worth what you pay for it.
>  It will display Tiff images and do OCR under mdivwctl.dll and mdivwctl.oca I haven't seen much documentation or code  on this.
>
>  The Microsoft Office Document Imaging 2003 (MODI) Viewer OCX Control can be used to display images and perform minor image editing functions. 
>  Viewing functionality includes panning, scrolling, zooming and selecting both image data and text (OCR has to be performed first).
>
>  Referencing the MODI Viewer OCX Control in a Microsoft Visual Basic Project
>
>  To include the Microsoft Office Document Imaging 2003 (MODI) Viewer OCX Control into a Microsoft Visual Basic project, use the Project | Components menu item and select Microsoft Office Document Imaging 11.0 Type Library (mdivwctl.oca). By including the Viewer OCX Control into 
>  the project, a reference is automatically added - making the entire Object Model available to the programmer. 
>  Note that the Viewer OCX Control corresponds to the MiDocView Object in the Microsoft Office Document Imaging 2003 (MODI) Object Model.
>
>  For info on API
>
>  Office 2003 Editions: VBA Language Reference for the Document Imaging Object Model
>  This download contains the Visual Basic® for Applications (VBA) Language Reference for the Microsoft® Office 2003 Document Imaging Object Model as a compiled Help file. Install chm file to the directory it selects, to preserve internal links but uncheck the overwrite box just in case.
>
>  http://www.microsoft.com/downloads/details.aspx?familyid=7b6d9193-a1c8-4934-8007-47089fde37de&displaylang=en
>  by the way here is the download page for all the vba object reference help files if you want Office 2003 help offline
>  http://msdn.microsoft.com/office/downloads/vba/default.aspx
>
>  or VB info
>  http://www.ilixis.com/developer/modi.html
>
>
>  A.D.Tejpal wrote:
>
>  >    Thanks Gustav! I greatly appreciate your help.
>  >
>  >A.D.Tejpal
>  >--------------
>  >
>  >  ----- Original Message ----- 
>  >  From: Gustav Brock 
>  >  To: dba-tech at databaseadvisors.com 
>  >  Sent: Saturday, December 04, 2004 20:04
>  >  Subject: Re: [dba-Tech] Windows XP - Windows Picture and FaxViewer-Nameand path of the exe file
>  >
>  >
>  >  Hi A.D.
>  >
>  >  I'm no API expert, but you can modify the code like this to maximize
>  >  ..:
>  >
>  >  <code>
>  >
>  >  Public Function ShowImage( _
>  >    ByVal strFile As String, _
>  >    Optional ByVal booMaximized As Boolean) _
>  >    As Long
>  >    
>  >  ' strFile must be either a directory or a file; wildcards are not
>  >  accepted.
>  >
>  >    Const cstrCommand   As String = "rundll32.exe shimgvw.dll,
>  >  ImageView_Fullscreen"
>  >    
>  >    Dim lngResult       As Long
>  >    Dim intWindowStyle  As Long
>  >    
>  >    If booMaximized = True Then
>  >      intWindowStyle = vbMaximizedFocus
>  >    Else
>  >      intWindowStyle = vbNormalFocus
>  >    End If
>  >
>  >    lngResult = Shell(cstrCommand & " " & strFile & "", intWindowStyle)
>  >
>  >    ShowImage = lngResult
>  >
>  >  End Function
>  >
>  >  </code>
>  >
>  >  However, it only works one way. If you have opened a picture maximized, all subsequent calls of the function will open a maximized view. You have to manually restore the view before closing it.
>  >  This behaviour is probably saved in the registry. You could reset that setting before calling the function.
>  >
>  >  /gustav
>  >
>  >  >>> adtp at touchtelindia.net 04-12-2004 05:14:57 >>>
>  >
>  >  Hello Gustav,
>  >
>  >      Thanks for the cross-check. 
>  >
>  >      Another question - could you possibly suggest any API call that could force the currently active display into full screen mode, irrespective of the parent application involved?
>  >
>  >      This can be useful in view of the fact that the combination of key strokes required to do it in different applications, is not always the
>  >  same. 
>  >
>  >  A.D.Tejpal
>  >  --------------
>  >
>  >_______________________________________________
>  >dba-Tech mailing list
>  >dba-Tech at databaseadvisors.com
>  >http://databaseadvisors.com/mailman/listinfo/dba-tech
>  >Website: http://www.databaseadvisors.com
>  >
>  >  
>  >
>
>  -- 
>  Marty Connelly
>  Victoria, B.C.
>  Canada
>_______________________________________________
>dba-Tech mailing list
>dba-Tech at databaseadvisors.com
>http://databaseadvisors.com/mailman/listinfo/dba-tech
>Website: http://www.databaseadvisors.com
>
>  
>

-- 
Marty Connelly
Victoria, B.C.
Canada






More information about the dba-Tech mailing list