Maximize โปรแกรมที่เปิดค้างไว้ หลังจากเรียกโปรแกรมเดียวกันขึ้นมาทำงานใหม่อีกครั้ง

   
เมื่อเปิดโปรแกรมใหม่ ต้องการให้โปรแกรมเช็คว่าโปรแกรมตัวเดียวกันได้เปิดค้างไว้หรือไม่ ถ้าเปิดค้างไว้ให้ Active และ/หรือ Maxzimize ขึ้นมาได้ใหม่ครับ
boyfox
11 ก.พ. 46 เวลา 16:52:17 น. --> 203.157.254.3,
   
   
เข้าใจว่าจะเช็คว่ามีโปรแกรมนี้ RUN อยู่แล้วหรือยัง

ให้ใส่ คำสั่งที่หัว Main Program
***Main Program

IF Lrun(<ชื่อ TITLE Window >) <> 0
QUIT && ถ้ามีแล้วออกจากโปรแกรม
ENDIF
DO .....

*************************************
FUNCTION LRun
***************************
LPARAMETER pctitle

DECLARE INTEGER GetActiveWindow IN Win32API
DECLARE INTEGER GetWindow IN Win32API;
INTEGER hwnd, INTEGER dflag
DECLARE INTEGER GetWindowText IN Win32API ;
INTEGER hwnd, STRING @lptstr, INTEGER cbmax

LOCAL lnhwnd, lnnext, lldone, lctitle_bar, lcsearchfor,;
lntext_len
lcsearchfor = UPPER(ALLTRIM(pctitle))
lnhwnd = GetActiveWindow()
lnnext = 2
lldone = .F.
lctitle_bar = ""
DO WHILE NOT lldone
IF NOT EMPTY(lnhwnd)
lctitle_bar = SPACE(200) + CHR(0)
lntext_len = GetWindowText(lnhwnd, @lctitle_bar, 200)
lctitle_bar = UPPER(LEFT(lctitle_bar, lntext_len))
lldone = (lcsearchfor $ lctitle_bar)
IF NOT lldone
lnhwnd = GetWindow(lnhwnd, lnnext)
ENDIF
ELSE
lldone = .T.
ENDIF
ENDDO
RETURN lnhwnd
:^)
12 ก.พ. 46 เวลา 16:13:05 น. --> 202.182.5.34, w
  
ขอเชิญร่วมตอบคำถามครับ
 
ผู้ตอบ :
รหัสผ่าน :
รูปภาพ :
คำตอบ :