Welcome To The Home Of The Visual FoxPro Experts  
home. signup. forum. archives. search. google. articles. downloads. faq. members. weblogs. sponsors. rss.
 From: Biju Thomas
  Where is Biju Thomas?
 Kochi
 India
 Biju Thomas
 To: Ilya Rabyy
  Where is Ilya Rabyy?
 Fountain Valley
 California - United States
 Ilya Rabyy
 Tags
Subject: RE: Universal docs viewer?
Thread ID: 230489 Message ID: 230531 # Views: 76 # Ratings: 2
Version: Visual FoxPro 9 Category: Microsoft Office Automation
Date: Saturday, June 06, 2009 6:43:33 AM         
   


SET TALK OFF
clear
DO mydeclare
Local nBufsize, cBuffer, tcTitle, m.lcFileName,nLeft,nTop,nWidth,nHeight, nFind

_screen.left=0
_screen.width=sysmetric(1)
_screen.height=sysmetric(2)

nLeft = 0
m.lcFileName = GETFILE('doc')
m.lcFileName = Alltrim(m.lcFileName)
If Empty(m.lcFileName) 
	Return
Endif

lnResult = ShellExecute(0,'Open', m.lcFileName, 0,0,0)

If m.lnResult <= 32
	Messagebox( m.lcFileName + " : no association available to open this file......")
	Return
Endif
tcTitle = Justfname(m.lcFileName)
SetForegroundWindow(_screen.HWnd)
hNext = GetActiveWindow() && Current app's window
	Do While hNext # 0
		cText = Replicate(Chr(0),80)
		GetWindowText(hNext,@cText,80) && Get window title
*!*	 parameter text is present in window title
		cBuffer = Space(250)
		nResult = GetWindowText(hNext, @cBuffer, Len(cBuffer))
		cText = Substr(cBuffer, 1, nResult)
		cBuffer = Repli(Chr(0), 250)
		nBufsize = GetClassName(hNext, @cBuffer, Len(cBuffer))
		If Occurs(Upper(Alltrim(tcTitle)), Upper(cText)) > 0
			Exit
		Endif
		hNext = GetWindow(hNext,2) && Next window
	Enddo
SetParent(hNext,_screen.HWnd)
* size it
nLeft = _screen.Left +   2
nTop = _screen.Top
nWidth = _screen.Width -   2
nHeight = _screen.Height - 10 - _screen.Top
SetWindowPos(hNext, 1,nLeft, nTop,nWidth, nHeight,64)
*!*	BringWindowToTop(Thisform.HWnd)
*ShowWindow(hNext,SW_NORMAL)
ShowWindow(hNext,1)
BringWindowToTop(hNext)
Release nLeft,nTop,nWidth,nHeight, clcFileName,nBufsize, cBuffer, tcTitle, m.lcFileName
_screen.Refresh



*!*	*********************
*!*	* mydeclare
*!*	*********************
Procedure mydeclare
Declare Integer RegOpenKey In Win32API ;
	Integer nHKey, String @cSubKey, Integer @nResult
Declare Integer RegCloseKey In Win32API ;
	Integer nHKey


Declare Long ShellExecute In "shell32.dll" ;
	long HWnd, String lpszOp, ;
	string lpszFile, String lpszParams, ;
	string lpszDir, Long nShowCmd

Declare Integer GetWindowInfo In user32 Integer HWnd, String @pwi
Declare Integer IsWindow In user32 Integer hWindow

Declare Integer RealGetWindowClass In user32;
	INTEGER hWindow, String @pszType, Integer cchType

Declare Integer GetWindowText In user32;
	INTEGER HWnd, String @lpString, Integer cch

Declare Integer InternalGetWindowText In user32;
	INTEGER HWnd, String @lpString, Integer nMaxCount

Declare Integer GetShellWindow In user32;
	INTEGER HWnd

Declare Integer SetActiveWindow In user32;
	INTEGER HWnd
Declare Integer SetForegroundWindow In user32;
	INTEGER HWnd
Declare Integer SetParent In user32;
	INTEGER hWndChild,;
	INTEGER hWndNewParent
Declare Integer WinExec In kernel32 String  lpCmdLine,;
	INTEGER nCmdShow
Declare Integer FindWindow In user32;
	STRING lpClassName, String lpWindowName
Declare Integer SetWindowPos In user32;
	INTEGER HWnd,;
	INTEGER hWndInsertAfter,;
	INTEGER x,;
	INTEGER Y,;
	INTEGER cx,;
	INTEGER cy,;
	INTEGER wFlags
Declare Integer GetActiveWindow In Win32API

Declare Integer GetWindowText In Win32API;
	INTEGER HWnd,;
	STRING @cText,;
	INTEGER nType

Declare Integer GetWindow In Win32API;
	INTEGER HWnd,;
	INTEGER nType


Declare Integer SendMessage In user32;
	INTEGER HWnd,;
	INTEGER uMsg,;
	INTEGER wParam,;
	INTEGER Lparam
Declare Integer SendNotifyMessage In user32;
	INTEGER HWnd,;
	INTEGER uMsg,;
	INTEGER wParam,;
	INTEGER Lparam


Declare SwitchToThisWindow In user32;
	INTEGER hWindow, Integer fAltTab


Declare Integer GetDesktopWindow In user32
Declare Integer GetWindow In user32 Integer HWnd, Integer wFlag
Declare Integer GetWindowRect In user32 Integer HWnd, String @lpRect
Declare Integer IsWindowVisible In user32 Integer HWnd
Declare Integer GetClassName In user32;
	INTEGER HWnd, String lpClassName, Integer nMaxCount



Declare Long FindWindow In user32 String, String
Declare Long BringWindowToTop In user32 Long
Declare Long ShowWindow In user32 Integer HWnd, Integer nCmdShow
Declare Integer CloseWindow In user32 Integer HWnd

Declare Integer SystemParametersInfo In user32;
	INTEGER uiAction, Integer uiParam,;
	STRING @pvParam, Integer fWinIni
	




COMPLETE THREAD
Universal docs viewer? Posted by Ilya Rabyy @ 6/5/2009 7:36:19 PM
RE: Universal docs viewer? Posted by Mike Gagnon @ 6/5/2009 8:23:15 PM
RE: Universal docs viewer? Posted by Ilya Rabyy @ 6/5/2009 8:27:28 PM
RE: Universal docs viewer? Posted by Yuri Rubinov @ 6/5/2009 8:25:09 PM
RE: Universal docs viewer? Posted by Ilya Rabyy @ 6/5/2009 8:58:41 PM
RE: Universal docs viewer? Posted by Yuri Rubinov @ 6/5/2009 9:04:20 PM
RE: Universal docs viewer? Posted by Ilya Rabyy @ 6/5/2009 9:09:34 PM
RE: Universal docs viewer? Posted by Yuri Rubinov @ 6/5/2009 9:31:38 PM
RE: Universal docs viewer? Posted by Ilya Rabyy @ 6/5/2009 9:52:35 PM
RE: Universal docs viewer? Posted by Yuri Rubinov @ 6/5/2009 10:02:55 PM
RE: Universal docs viewer? Posted by Ilya Rabyy @ 6/5/2009 10:13:14 PM
RE: Universal docs viewer? Posted by Yuri Rubinov @ 6/6/2009 3:58:27 AM
RE: Universal docs viewer? Posted by Ilya Rabyy @ 6/9/2009 4:59:04 PM
RE: Universal docs viewer? Posted by a modi @ 7/29/2009 4:25:52 PM
RE: Universal docs viewer? Posted by Yousfi Benameur @ 6/5/2009 10:26:01 PM
RE: Universal docs viewer? Posted by Biju Thomas @ 6/6/2009 6:43:33 AM