Author Topic: _SCREENPRINT text$ Question  (Read 11386 times)

0 Members and 1 Guest are viewing this topic.

Offline SpriggsySpriggs

  • Forum Resident
  • Posts: 1145
  • Larger than life
    • View Profile
    • GitHub
Re: _SCREENPRINT text$ Question
« Reply #30 on: October 06, 2021, 11:33:21 am »
Yeah, I did not get that this was just to close Notepad..... Why would one even need to program that? If you are using notepad to begin with then you are most likely at the machine. I'm so confused.
Shuwatch!

Offline Pete

  • Forum Resident
  • Posts: 2361
  • Cuz I sez so, varmint!
    • View Profile
Re: _SCREENPRINT text$ Question
« Reply #31 on: October 06, 2021, 12:00:50 pm »
@SpriggsySpriggs  Hi Indy,

He's trying NOT to be at the machine, at all. The _SCREENCLICK method would work, but you would need to know where to tell QB64 to click. I started out that way, before using SENDKEYS. I HAD to make sure  the app opened in the top right corner; that way, all I needed to do is map the top right screen coordinates. I did the mapping with a separate translucent QB64 app I created. I ran that prog over the MS app I wanted to close, placed the QB64 mouse cursor over the "X" on the app, and read the QB64 prog coordinates. I put those _SCREENCLICK, coordinates in my prog to close the app and my QB64 program clicked the "X" closed for me, provided I set the app I wanted closed in the proper location on my desktop.

Anyway, that said, here is a way to do it with SENDKEY, instead of _SCREENCLICK or TASKKILL...

Code: QB64: [Select]
  1. REDIM SHARED title$
  2. REDIM SHARED hwnd%&
  3.  
  4.     SUB SENDKEYS ALIAS keybd_event (BYVAL bVk AS LONG, BYVAL bScan AS LONG, BYVAL dwFlags AS LONG, BYVAL dwExtraInfo AS LONG)
  5.     FUNCTION FindWindowA%& (BYVAL ClassName AS _OFFSET, WindowName$) 'handle by title
  6.     FUNCTION ShowWindow& (BYVAL hwnd AS _OFFSET, BYVAL nCmdShow AS LONG) 'maximize process
  7.     FUNCTION SetForegroundWindow& (BYVAL hwnd AS _OFFSET) 'set foreground window process(focus)
  8.     FUNCTION GetForegroundWindow%& 'find currently focused process handle
  9.  
  10. CONST KEYEVENTF_KEYUP = &H2
  11. CONST VK_SHIFT = &H10 'Shift key
  12. CONST VK_CTRL = &H11 ' Ctrl key
  13. CONST VK_ALT = &H12 ' Alt key
  14.  
  15. NotePad:
  16. DEFLNG A-Z
  17. SCREEN _NEWIMAGE(640, 480, 32)
  18. _SCREENMOVE 10, 110
  19. _TITLE "PROGRAM WINDOW"
  20.  
  21. COLOR &HFF00FF00~&&
  22. LOCATE 5, 1: PRINT "MOUSE around PROGRAM WINDOW for 10 seconds"
  23.  
  24. MouseAround
  25.  
  26. SHELL _HIDE _DONTWAIT "start Notepad" 'opens Notepad file NOT MAXIMIZED
  27.  
  28. PLAY "L16N60": CLS
  29. LOCATE 3, 30: PRINT "switch mouse focus to NotePad": timerold = TIMER
  30. LOCATE 5, 1: PRINT "MOUSE around PROGRAM WINDOW for 10 seconds"
  31. MouseAround
  32.  
  33. title$ = "Untitled - Notepad": focusapp 'Focused on NotePad
  34.  
  35. _SCREENPRINT "HELLO WORLD":
  36. SLEEP 2: _SCREENPRINT CHR$(8) + CHR$(8) + CHR$(8) + CHR$(8) + CHR$(8) 'backspace 5 characters
  37. SLEEP 3: _SCREENPRINT "QB64!"
  38. SLEEP 2: FOR i% = 1 TO 10: GOSUB Ctrl_Plus: NEXT ' MAXIMUM NLARGEMENT of NotePad
  39. _SCREENPRINT CHR$(1) 'CTRL + A select all
  40. SLEEP 2: _SCREENPRINT CHR$(3) 'CTRL + C copy to clipboard
  41. _CLIPBOARD$ = "QB64 ROCKS!" ''SLEEP 2
  42. _DELAY 2: _SCREENPRINT CHR$(22) 'CTRL + V paste from clipboard
  43. '''''''''''SHELL _HIDE "taskkill /f /im notepad.exe"
  44. GOSUB Close_Notepad
  45.  
  46. Ctrl_Plus:
  47. SENDKEYS VK_CTRL, 0, 0, 0 ' Ctrl
  48. SENDKEYS &HBB, 0, 0, 0 ' +
  49. SENDKEYS &HBB, 0, KEYEVENTF_KEYUP, 0 ' Release +
  50. SENDKEYS VK_CTRL, 0, KEYEVENTF_KEYUP, 0 ' Release Ctrl
  51. _DELAY .2 '********************
  52.  
  53. Close_Notepad:
  54. SENDKEYS VK_ALT, 0, 0, 0 ' Alt
  55. SENDKEYS &H46, 0, 0, 0 ' F
  56. SENDKEYS &H58, 0, 0, 0 ' x
  57. SENDKEYS &H58, 0, KEYEVENTF_KEYUP, 0 ' Release
  58. SENDKEYS &H46, 0, KEYEVENTF_KEYUP, 0 ' Release
  59. SENDKEYS VK_ALT, 0, KEYEVENTF_KEYUP, 0 ' Release
  60. SENDKEYS &H4E, 0, 0, 0 ' N
  61. SENDKEYS &H4E, 0, KEYEVENTF_KEYUP, 0 ' Release
  62.  
  63. SUB focusapp
  64.     hwnd%& = FindWindowA(0, title$ + CHR$(0))
  65.     _DELAY .1
  66.     FGwin%& = GetForegroundWindow%& 'get current process in focus
  67.     _DELAY .1
  68.     IF FGwin%& <> hwnd%& THEN z& = SetForegroundWindow&(hwnd%&) 'set focus when necessary
  69.     _DELAY .1
  70.  
  71. SUB MouseAround
  72.     timerold& = TIMER
  73.     LOCATE 5, 1: PRINT SPACE$(_WIDTH);
  74.     DO
  75.         _LIMIT 120
  76.         WHILE _MOUSEINPUT: WEND
  77.         mx = _MOUSEX: my = _MOUSEY
  78.         LOCATE 5, 5: PRINT _MOUSEX; "x"; _MOUSEY; "y    "
  79.         LOCATE 5, 1: PRINT USING "###"; timerold + 10 - TIMER
  80.     LOOP UNTIL TIMER > (timerold& + 10)

If left the TASKKILL part in, I just REMMED it out. What's neat about this method is that it leaves other instances of NOTEPAD alone. It only closes the one in focus.

Also, Richard, Indy here has a cool way of using the Windows API to close Notepad: https://www.qb64.org/forum/index.php?topic=4070.msg134228#msg134228

Pete
Want to learn how to write code on cave walls? https://www.tapatalk.com/groups/qbasic/qbasic-f1/

Offline Richard

  • Seasoned Forum Regular
  • Posts: 364
    • View Profile
Re: _SCREENPRINT text$ Question
« Reply #32 on: October 06, 2021, 08:00:13 pm »
@Pete

Many thanks


I suppose I should not mention N***P** around here any more...


Your Translucent program is what I really needed for the MouseAround routine. I have it now as a standalone QB64 program and will eventually include it in my custom taskbar (top 100 scan lines of display) - the idea being that "forever" I will always see the cursor co-ordinates which supplements the "cross-hair" cursor. Not that it matters, for some reason the opacity did not change when altering with F1/F2. I am running Windows 10 x64 Pro 21H1 build.

Using your Translucent program (for mouse x y co-ords) - I established the CLOSE for N***P** and also  Settings>Update and Security positions for use with _SCREENCLICK. My main program by itself (without me at the keyboard) opened up a file with N***P** (and without doing anything with SENDKEYS) automatically closed it off (via close button region) and then proceeded to Windows Settings>Update and Security automatically requesting for the updates. Of course with the automation I have to ensure the various windows are where they are supposed to be (Windows for me has a habit of re-arranging things every now and then).

Now for some reason (since using your translucent program) - SENDKEYS with the sequence for      Ctrl +
     types in ========== (for 10 Ctrl + requests) with the virtual &HBB values and if I change to having &H2B nothing happens (therefore no change to file and so N***P** is automatically closed).

I will soon try applying _SCREENCLICK to various things (like auto minimizing various "control panel" windows after say every 10 minutes to help "de-clutter" the overloaded display screen, ending processes in Task Manager such as Skype, Cloud, MS Office,... that I never wanted (and can not seem to get rid of), ensuring AutoStartup processes and only enabled for desired ones, etc - all to be done automatically rather than forever onwards doing manually the same steps very often. It is a "bumpy" road for me approaching the automation of mousing actions in this manner - but at least it is "fun".

Many thanks, once again

Offline Pete

  • Forum Resident
  • Posts: 2361
  • Cuz I sez so, varmint!
    • View Profile
Re: _SCREENPRINT text$ Question
« Reply #33 on: October 06, 2021, 08:26:44 pm »
@Richard Did you try my code I posted above? It Ctrl + + correctly. You may want to post the code you are getting the 10 = signs for. It seems like the ctrl part of SENDKEY is missing. That usually occurs if the release pairing gets messed up.

Glad it's coming along, but seriously, check out the one I posted above. It closes Notepad with a SENDKEY gosub routine labeled as: Close_Notepad

Pete

Want to learn how to write code on cave walls? https://www.tapatalk.com/groups/qbasic/qbasic-f1/

Offline Richard

  • Seasoned Forum Regular
  • Posts: 364
    • View Profile
Re: _SCREENPRINT text$ Question
« Reply #34 on: October 06, 2021, 08:48:04 pm »
@Pete

Not tried yet - will plan to very soon. I think I should take "a bit of a break" from it (say a number of hours) - to help minimize the number of "silly" mistakes (and consequent confusion) on my part.

Yes by all means (using SENDKEY instead of _CLICKSCREEN) what can be done WITHOUT needing to use a mouse, the better.

I will then "tidy up" the program (that gives  ===) and retest and try to correct any of my "mistakes" - in any case I will report back to you (with the complete code) either way.

So in a matter of just a few days, with your greatly appreciated help, "jumped on to the 'gravy train'" (if I may use that term here) which happened to pass my "station" still at "express speed".

My computer background is via DOS (relatively new to Windows, GUI and mice) - I prefer "old-fashioned" key strokes over micky mousing around - and without insulting you (I hope) - most of my work was on MONOCHROME SCREEN 0.

Offline Pete

  • Forum Resident
  • Posts: 2361
  • Cuz I sez so, varmint!
    • View Profile
Re: _SCREENPRINT text$ Question
« Reply #35 on: October 06, 2021, 09:07:26 pm »
@Richard My alias is SCREEN ZERO HERO, meaning if you really do want to piss me off, we need to be talking graphics... :D I started programming in 1980. A lot of us around here are old timers.

BTW - You are always welcome to post your code. Just let us know where it is failing. Code posts are almost always easier to debug than discussing the problem. Oh, and don't worry about the N***P** thing. The ARHHHHHHHHHHHH!!! comment was just a comedy bit. I really wasn't upset over that, or the two crashes. All part of the process.

Pete
Want to learn how to write code on cave walls? https://www.tapatalk.com/groups/qbasic/qbasic-f1/

Offline Richard

  • Seasoned Forum Regular
  • Posts: 364
    • View Profile
Re: _SCREENPRINT text$ Question
« Reply #36 on: October 06, 2021, 09:21:03 pm »
@Pete

Does SCREEN 2 graphics qualify to p*** you off?

At the time SCREEN 2 was included in the package (but not a VGA card or something) for the laptop computer. SCREEN 2 graphics was used by me for "preview work" as most of my graphics was really only ported to a HP laser printer to view any graphics work. Although some kind of basic BASIC came with the laptop, essentially from day 1 I worked only with MS PDS 7.1 (on 6 x 3.5" floppies). It was a celebration when the 512 KByte memory was upgraded to 1 Mbyte.

Offline Pete

  • Forum Resident
  • Posts: 2361
  • Cuz I sez so, varmint!
    • View Profile
Re: _SCREENPRINT text$ Question
« Reply #37 on: October 06, 2021, 09:42:56 pm »
SCREEN 2? Die *&*(%*%**^*(%^!!!!!!

At some point I checked out SCREEN 7, 9, 12, and 13. My friend Bob, at The QBasic Forum, worked almost exclusively in 12 and 13. He was a graphics designer. For me, it was business apps, so SCREEN 0 worked best for me.

PDS, nice. PDS was QuickBASIC, with just a few more bells and whistles. I bought a copy of QuickBASIC in 1990. Before that, it was TI BASIC in 1980, and Atari BASIC form 1984 to 1990. So a tape recorder was my first "Drive" of sorts. The Atari had a 5 1/4" Floppy drive. With QB, I had a $4,500 state of the art 486 with Windows 3.1. For that price, it should have got 30 miles to a gallon, but it did manage to live for 25 years. Ah, the good old days.

Pete
Want to learn how to write code on cave walls? https://www.tapatalk.com/groups/qbasic/qbasic-f1/

Offline Richard

  • Seasoned Forum Regular
  • Posts: 364
    • View Profile
Re: _SCREENPRINT text$ Question
« Reply #38 on: October 07, 2021, 02:54:49 am »
@Pete

Just for your info - code that gives     ===...      instead of doing      Ctrl +

Note that most of the code is not actually used (MouseAbout is being performed by another QB64 program running simultaneously using essentially your Translucent program. Minor changes such as not saving co-ordinates should be evident (ticked out) etc.

On my G:\ drive      a.txt  is a one byte file containing the letter "a" only



Of interest is that many more than 10 = are displayed for me (and no enlargement).

Lets see how times my program crashes your computer this time?

Should you not be able to see the problem with the code - I will, if you want, in the next reply, mention some issues with other apps which may or may not be relevant to the problem.





Code: QB64: [Select]
  1. 'Pete's_Translucent_window_test-005.bas
  2. 'injected code from Pete_Ctrl+-008.bas NotePad example
  3. DEFINT A-Z
  4.  
  5. redim shared title$
  6. redim shared hwnd%&
  7. redim shared Level%
  8. z&=z&:hwnd%&=hwnd%&:title$=""
  9.  
  10. CONST HWND_TOPMOST%& = -1
  11. CONST SWP_NOSIZE%& = &H1
  12. CONST SWP_NOMOVE%& = &H2
  13. CONST SWP_SHOWWINDOW%& = &H40
  14.  
  15. reDIM Hold AS POINTAPI
  16. TYPE POINTAPI
  17.     X_Pos AS LONG
  18.     Y_Pos AS LONG
  19.  
  20.     FUNCTION ShowWindow& (BYVAL hwnd AS _OFFSET, BYVAL nCmdShow AS LONG) 'maximize process
  21.     FUNCTION GetForegroundWindow& 'find currently focused process handle
  22.     FUNCTION SetForegroundWindow& (BYVAL hwnd AS _OFFSET) 'set foreground window process(focus)
  23.     FUNCTION SetLayeredWindowAttributes& (BYVAL hwnd AS LONG, BYVAL crKey AS LONG, BYVAL bAlpha AS _UNSIGNED _BYTE, BYVAL dwFlags AS LONG)
  24.     FUNCTION GetWindowLong& ALIAS "GetWindowLongA" (BYVAL hwnd AS LONG, BYVAL nIndex AS LONG)
  25.     FUNCTION SetWindowLong& ALIAS "SetWindowLongA" (BYVAL hwnd AS LONG, BYVAL nIndex AS LONG, BYVAL dwNewLong AS LONG)
  26.     FUNCTION SetWindowPos& (BYVAL hWnd AS LONG, BYVAL hWndInsertAfter AS _OFFSET, BYVAL X AS INTEGER, BYVAL Y AS INTEGER, BYVAL cx AS INTEGER, BYVAL cy AS INTEGER, BYVAL uFlags AS _OFFSET)
  27.     FUNCTION GetAsyncKeyState% (BYVAL vkey AS LONG)
  28.     FUNCTION SetCursorPos (BYVAL x AS LONG, BYVAL y AS LONG)
  29.     FUNCTION GetCursorPos (lpPoint AS POINTAPI)
  30.     SUB      SENDKEYS             ALIAS keybd_event (BYVAL bVk AS LONG, BYVAL bScan AS LONG, BYVAL dwFlags AS LONG, BYVAL dwExtraInfo AS LONG)
  31.     FUNCTION FindWindowA%&        (BYVAL ClassName AS _OFFSET, WindowName$) 'find process handle by title
  32.  
  33. _CLIPBOARD$ = "" ' Clear clipboard.
  34. goto NotePad:
  35.  
  36. ' Needed for acquiring the hWnd of the window
  37. DIM Myhwnd AS LONG ' Get hWnd value
  38. '_TITLE "Translucent window test"
  39. _TITLE "F1/F2 +/- opacity" ' alt 241 does not give CP437 +/-
  40.  
  41. Myhwnd = _WINDOWHANDLE
  42. dth = 355: hght = 20 ' was 300x400
  43. ' Set screen
  44. s& = _NEWIMAGE(wdth, hght, 32)
  45.  
  46.  
  47. _SCREENMOVE 800, 50
  48. ' Main loop
  49. Level = 40' was 175
  50. SetWindowOpacity Myhwnd, Level  'when Level = bAlpha is 0 the window is completely transparent  =255 opaque
  51.  
  52. '************************************************************88
  53. 'gosub MouseAround:
  54.  
  55.  
  56. NotePad:
  57. DEFLNG A-Z
  58. SCREEN _NEWIMAGE(100, 100,32)
  59. title$=  "START NotePad.exe G:\a.txt"                                                                            '*******************
  60. SHELL _DONTWAIT title$ 'opens Notepad file NOT MAXIMIZED
  61.  
  62. _delay 2:_screenclick 300,300: _delay .5
  63. for i%=1 to 10:gosub Ctrl_Plus:next
  64.  
  65. _screenclick 650,100 ' for temporary NotePad
  66.  
  67. _screenclick 700,1150 ' for temporary Windows Updates
  68. play "L1N30"
  69. system  '*************************************************END OF PROGRAM
  70.  
  71.  
  72. FOR i = 0 TO cnt
  73.     PRINT "_SCREENCLICK "; logger$(i); ", "; logger2$(i)
  74.  
  75. '====================================================================\
  76.  
  77. Ctrl_Plus:
  78. SENDKEYS VK_CTRL, 0, 0, 0 ' Ctrl
  79.  
  80. 'SENDKEYS &H2B, 0, 0, 0 ' +                         ' &hBB Virtual
  81. 'SENDKEYS &H2B, 0, KEYEVENTF_KEYUP, 0 ' Release +   ' &hBB Virtual
  82.  
  83. SENDKEYS &HbB, 0, 0, 0 ' +                         ' &hBB Virtual
  84. SENDKEYS &HbB, 0, KEYEVENTF_KEYUP, 0 ' Release +   ' &hBB Virtual
  85.  
  86.  
  87. SENDKEYS VK_CTRL, 0, KEYEVENTF_KEYUP, 0 ' Release Ctrl
  88. _delay .2                                                                            '********************
  89.  
  90. MouseAround:
  91. 'DIM logger$(100), logger2$(100)
  92. timerold=timer
  93.     _LIMIT 30
  94.     msg = GetCursorPos(Hold)
  95.     LOCATE 1, 1: PRINT "Col ="; Hold.X_Pos;: LOCATE 1, 11+1: PRINT "Row ="; Hold.Y_Pos; "   ";
  96.     IF GetAsyncKeyState(1) THEN
  97.         IF flag THEN
  98.             cnt = cnt + 1
  99.  
  100.             Play "L63N60"' was BEEP
  101.             '''logger$(cnt) = LTRIM$(STR$(Hold.X_Pos))
  102.             '''logger2$(cnt) = LTRIM$(STR$(Hold.Y_Pos))
  103.         ELSE
  104.             flag = -1
  105.         END IF
  106.     END IF
  107.     IF GetAsyncKeyState(&H1B) THEN
  108.         EXIT DO 'ESC key exits loop and prints logged key presses
  109.     END IF
  110.         IF oldimage& <> 0 THEN
  111.             oldimage& = s&
  112.             wdth = _RESIZEWIDTH: hght = _RESIZEHEIGHT
  113.             IF hght < 100 OR wdth < 150 THEN
  114.                 IF hght <= 100 THEN hght = 100
  115.                 IF wdth <= 150 THEN wdth = 150
  116.                 _RESIZE OFF
  117.                 _DELAY .2
  118.                 s& = _NEWIMAGE(wdth, hght, 32)
  119.                 SCREEN s&
  120.                 _DISPLAYORDER _SOFTWARE , _HARDWARE
  121.                 _FREEIMAGE oldimage&
  122.                 _RESIZE ON
  123.             ELSE
  124.                 s& = _NEWIMAGE(wdth, hght, 32)
  125.                 SCREEN s&
  126.                 _FREEIMAGE oldimage&
  127.             END IF
  128.             LOCATE 4, 1
  129.             PRINT mystring$;
  130.         ELSE
  131.             oldimage& = s&
  132.         END IF
  133.     END IF
  134.  
  135.     b$ = INKEY$
  136.     IF LEN(b$) THEN
  137.         IF b$ = CHR$(27) THEN SYSTEM
  138.         IF LEN(b$) = 2 THEN
  139.             IF b$ = CHR$(0) + CHR$(59) AND Level < 255 THEN Level = Level + 1: SetWindowOpacity Myhwnd, Level
  140.             IF b$ = CHR$(0) + CHR$(60) AND Level > 0 THEN Level = Level - 1: SetWindowOpacity Myhwnd, Level
  141.             yy = CSRLIN: xx = POS(0): LOCATE 1, 1: PRINT "Press F1/F2 to change... opacity"; Level;: LOCATE yy, xx
  142.         ELSE
  143.             PRINT b$;
  144.             mystring$ = mystring$ + b$
  145.         END IF
  146.     END IF
  147.     _DISPLAY
  148.     if timer>(timerold + 10) then return
  149.  
  150.  
  151. SUB SetWindowOpacity (hwnd AS LONG, Level)
  152. DIM Msg AS LONG
  153. CONST G = -20
  154. CONST LWA_ALPHA = &H2' use bAlpha to determine the opacity of the layered window
  155. CONST WS_EX_LAYERED = &H80000
  156. Msg = GetWindowLong(hwnd, G)
  157. Msg = Msg OR WS_EX_LAYERED
  158. action = SetWindowLong(hwnd, G, Msg)
  159. action = SetLayeredWindowAttributes(hwnd, 0, Level, LWA_ALPHA)'(hwnd,colorref crkey,BYTE bAlpha,DWORD dwflags
  160. 'https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setlayeredwindowattributes
  161. 'when bAlpha is 0 , the window is completely transparent
  162. 'when bAlpha is 255, the window is opaque
  163.  
  164.  


Offline Pete

  • Forum Resident
  • Posts: 2361
  • Cuz I sez so, varmint!
    • View Profile
Re: _SCREENPRINT text$ Question
« Reply #39 on: October 07, 2021, 04:19:02 pm »
You forgot to keep the SENDKEY constants. Paste these statements below the new constants you coded...

Code: QB64: [Select]
  1. CONST KEYEVENTF_KEYUP = &H2
  2. CONST VK_SHIFT = &H10 'Shift key
  3. CONST VK_CTRL = &H11 ' Ctrl key
  4. CONST VK_ALT = &H12 ' Alt key

Pete
Want to learn how to write code on cave walls? https://www.tapatalk.com/groups/qbasic/qbasic-f1/

Offline Clippy

  • Newbie
  • Posts: 4
    • View Profile
Re: _SCREENPRINT text$ Question
« Reply #40 on: October 10, 2021, 08:21:32 pm »
Nice to see that Pete has STILL survived in Liberal Fires in California and McNeil is still farming Ginseng in Virginia. Thanks for keeping our WIKI up... surprised M$ has not bought us out!

You can delete my post as irrelevant as it is just text on the internet... Love ya guys! 
« Last Edit: October 10, 2021, 10:18:19 pm by odin »

FellippeHeitor

  • Guest
Re: _SCREENPRINT text$ Question
« Reply #41 on: October 10, 2021, 08:24:33 pm »
It's Clippy! It's Clippy! Welcome back, Ted! Great to see you around.

FellippeHeitor

  • Guest
Re: _SCREENPRINT text$ Question
« Reply #42 on: October 10, 2021, 08:31:34 pm »
LOL @ the edit... and he reported my post to moderation telling mods I'm a stalker... but I'm the moderator.

Now we have proof it's Ted. 😂😂😂

Offline Clippy

  • Newbie
  • Posts: 4
    • View Profile
Re: _SCREENPRINT text$ Question
« Reply #43 on: October 10, 2021, 08:35:38 pm »
How many freaking posts do I have to make before I don't need to fill in the stupid questions anymore? Sure hope somebody writes a program to do it AI...

Somehow my old PW seemed to work?

Offline SMcNeill

  • QB64 Developer
  • Forum Resident
  • Posts: 3972
    • View Profile
    • Steve’s QB64 Archive Forum
Re: _SCREENPRINT text$ Question
« Reply #44 on: October 10, 2021, 09:27:10 pm »
How many freaking posts do I have to make before I don't need to fill in the stupid questions anymore? Sure hope somebody writes a program to do it AI...

Somehow my old PW seemed to work?

Is your browser in anonymous mode or something?  I've never seen anyone have to fill in questions before posting before. 

Maybe it's just something special they do for paperclip types around here...
https://github.com/SteveMcNeill/Steve64 — A github collection of all things Steve!