Solved

Do you have experts in the field of AutoIt coding?

Posted on 2016-07-26
25
102 Views
Last Modified: 2016-08-19
Hello, do you have xperts in the field of AUTOIT Coding ?
I do not know where to ask this question?
The forum that they run gave me a hostile welcome.

I had to close down my account as I received a very cold
welcome from them ignoring my questions, posting back limited
half-answers and throwing me to their horrible help file, limited with working examples.

Anyway here is the failing code they did Not want to help me with
and instead kept insulting me.

I tried a one file code which could deal with both a 32 bit and a 64 bit version at the same time
but making the clear distinction between the versions.
But the output gave a DOUBLE answer,
i.e. if I checked the 64 bit version the output was:
This is a 32 bit version computer.
This is a 64 bit version computer.

and,
if I checked the 32 bit version the output was:
This is a 32 bit version computer.
This is a 64 bit version computer.

Here is the code (did not work)
-----------------------------------------

#include <MsgBoxConstants.au3>

;Assign the 32 bit version file path to a variable.
Local $sFilePath32 = "C:\Program Files\Windows Sidebar\sidebar.exe"

;Check if file exists.
Local $iFileExists32 = FileExists($sFilePath32)

;Display a message after checking the returned value.
If $iFileExists32 Then
    MsgBox($MB_SYSTEMMODAL, "", "This is a 32 bit version computer." & @CRLF & "FileExist returned: " & $iFileExists32)
Else
    MsgBox($MB_SYSTEMMODAL, "", "The file doesn't exist." & @CRLF & "FileExist returned: " & $iFileExists32)
EndIf


;Assign the 64 bit version computer file path to a variable.
Local $sFilePath64 = "C:\Program Files (x86)\Windows Sidebar\sidebar.exe"

;Check if file exists.
Local $iFileExists64 = FileExists($sFilePath64)

;Display a message after checking the returned value.
If $iFileExists64 Then
    MsgBox($MB_SYSTEMMODAL, "", "This is a 64 bit version computer." & @CRLF & "FileExist returned: " & $iFileExists64)
Else
    MsgBox($MB_SYSTEMMODAL, "", "The file doesn't exist." & @CRLF & "FileExist returned: " & $iFileExists64)
 EndIf

;-----------------

Thank You For Your Attention. Can You Help Me Please ?

Regards and Thnx.
0
Comment
Question by:DORON ZUR
  • 9
  • 8
  • 7
  • +1
25 Comments
 
LVL 32

Accepted Solution

by:
it_saige earned 250 total points
ID: 41730015
I'll do what I can to assist (admittedly not an expert in the ways of AutoIT).

I found the thread you mentioned.  Did you try to use the @OSArch macro?  It appears as if you did and there was some confusion about how to specify a 32-bit check first.  If that is the case then you can check if @OSArch is X86 first; e.g. -
If @OSArch = "X86" Then
   ;Do Something for 32bit machines
Else
   ;Do Something for 64bit machines
EndIf

Open in new window


However, if you are concerned about the possibility of receiving an "IA64" returned, then perhaps adding an ElseIf will do the trick for you; e.g. -
If @OSArch = "X86" Then
   ;Do Something for 32bit machines
ElseIf @OSArch = "X64"
   ;Do Something for 64bit machines
Else
   ;Do Something for IA64 machines
EndIf

Open in new window


Does this help at all?

-saige-

P.S. - Downloading and installing AutoIT right now.
1
 
LVL 32

Expert Comment

by:it_saige
ID: 41730059
I downloaded and installed AutoIT.  I copied your script verbatim and got false for both sections (probably because I do not have the Windows Sidebar installed).  My current configuration is a Windows 10 Profession 64-bit install.

You mention that FileExists is important to you.  Is it important because you want to ensure that Windows Sidebar is installed?  What is the end goal here?

-saige-
0
 
LVL 78

Assisted Solution

by:David Johnson, CD, MVP
David Johnson, CD, MVP earned 125 total points
ID: 41730230
if you don't test for operating system architecture
Both x86 and x64 architectures have c:\program files\   only x64 operating systems have c:\program files (x86)
1
 
LVL 32

Expert Comment

by:it_saige
ID: 41730237
And I can confirm that sidebar.exe exists in both locations on a 64 bit system.

-saige-
0
 

Author Comment

by:DORON ZUR
ID: 41730420
Yes, true. 64 bit system detection may be misleading as to the installation of 64 bit programmes in its c:\program files  directory, whereas 32 bit systems use the very same programme directory name but for 32 bit ! (wow, how confusing and misleading this may be !!!)

In fact, 64 bit system will install its 32 bit programmes in its c:\program files (x86) directory helping in detecting its bit system with your code.

to check with FileExists carries its limitations as to determining the o.s. architecture
but would be of great help in determining whether a certain file, or executable exists in a
specific folder.

Indeed your suggested code is ok but...you forgot to put a Then in the Elseif line.
(I use AUTOIT script).

Your Code: (as i said, you forgot the Then in the Elseif line)
-----------------------------------------------------------------------------------
If @OSArch = "X86" Then
   ;Do Something for 32bit machines
ElseIf @OSArch = "X64"
   ;Do Something for 64bit machines
Else
   ;Do Something for IA64 machines
EndIf

Corrected Code to make compatible with AutoIt script:
-------------------------------------------------------------------------------

If @OSArch = "X86" Then
MsgBox("","32 bit","32")
ElseIf @OSArch = "X64" Then
   MsgBox("","64 bit","64")
Else
   MsgBox("","IA64","IA64")
   EndIf

I am still shocked by the hostile reaction to my questions on the AUTOIT FORUM.
They tried downsizing my programming capabilities and I am quite hurt by it.
I replied fiercefully to their hostile MVP Moderator under the nickname of
JLogan3o13, a boastful, arrogant character (dirtying his mouth off),
and warned him that insulting on a Public Forum may be reported by me to the proper internet authority channels.

Your Experts Xchange is fantastic, welcoming, quick-to-reply to my questions
and I am very greatful to you.
Thank You Very Very Much Indeed !
0
 
LVL 32

Expert Comment

by:it_saige
ID: 41730482
My apologies for the mistake.  That being said, I have done some further testing and if you only want to find out where the sidebar.exe is installed, perhaps you would be willing to use the App Paths location in the registry?
#include <MsgBoxConstants.au3>

;Assign sidebar.exe path to variable
Local $sSidebarPath = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\sidebar.exe\", "")

If $sSidebarPath <> "" Then
    MsgBox($MB_SYSTEMMODAL, "", "Sidebar is installed at:" & @CRLF & $sSidebarPath)
Else
    MsgBox($MB_SYSTEMMODAL, "", "Sidebar is not installed." & @CRLF & "Sidebar path is : " & $sSidebarPath)
EndIf

Open in new window


-saige-
0
 

Author Comment

by:DORON ZUR
ID: 41730637
Sorry for not responding earlier,
I was engaged with developing the AHK code,
making it compatible with my needs.

(Pity the AutoIt Forum "Moderator" tried downsizing my programming skills...
He incited everyone there against me, strongly disliking me and trying to insult me
as much as he could, this horrible man. I simply asked them to shut down my account.
I can always return there under a different account name and email if I wish but
I shall wait for things to cool off a little...
wish he could just see the code I am dealing with right now !)

Yes, nice, thanks a lot for the very clever coding you presented above.

Alternatively, Saige,
I simply use the AHK [Process] Help Code (Example 2) and add to it
2 labels, one for a SideBar Process 'Running Mode' and another for
a SideBar Process 'Not Running' Mode.

Here is the code:
(starts beneath dotted area)
----------------------------------------

Process, wait, Sidebar.exe, 5.5
NewPID = %ErrorLevel%  ; Save the value immediately since ErrorLevel is often changed.
if NewPID = 0
{
    MsgBox The specified process did not appear within 5.5 seconds.
    goto LabeLNotRunning
    ; I direct to a label dealing with a 'Process Not Running' Mode.
    return
}

MsgBox A matching process has appeared (Process ID is %NewPID%).

if ErrorLevel ; The PID still exists.
{
    MsgBox The process did not close within 5 seconds
    goto LabeLIsRunning
    ; I direct to a label dealing with a 'Process Running' Mode.
}
      
LabeLNotRunning:
MsgBox SideBar is Not Running. do something.
return

LabeLIsRunning:
MsgBox SideBar is Running, do something.
;-----------------
; End of code

SAIGE,
What I now need very badly is make the Windows Side Bar Stay On Top
via CODE. Is this possible ?

This looks rather difficult. Please Help.

Thanks a lot for your tremendous help so far,
0
 
LVL 32

Expert Comment

by:it_saige
ID: 41731612
As long as we can make call's to the Windows API and the process in question (sidebar.exe) listens to and accepts the required Windows API calls, we can make it the top most window.

As for the first issue, can we make call's to the Windows API?  To that end AutoIT has a function called DllCall (along with a few others that are related to working with externals).  We are currently using this function (without realizing it) by our usage of the MsgBoxConstants.au3.  Browsing through the AutoIT functions list reveals that they have functions for controlling windows and controls.

As to the second question, Does sidebar.exe listen to normal windows api calls?  If we are dealing with the standard windows sidebar, it is a gadget container and was specially written for Windows Vista.  Because of this, it does not natively listen to standard windows api calls.  Just browsing through the Gadget Platform API doesn't really shed light on this either.  To make matters worse, Microsoft decided to take away the container interface in Windows 7.  Instead the desktop became the container where individual gadgets could be placed anywhere and made topmost.

Before we go to much farther.  What operating system(s) are we dealing with and what sidebar (as I had stated earlier my development machine is Windows 10, so I loaded the windows sidebar from 8Gadgetpack).

Using this sidebar I can get the handle that is assigned to the class and make it top most.  It won't remember the setting because it uses a specialized context menu (but I am working on a resolution for that).

-saige-
0
 
LVL 51

Assisted Solution

by:Joe Winograd, EE MVE
Joe Winograd, EE MVE earned 125 total points
ID: 41734875
Hi Doron,

First, it's nice to have you at Experts Exchange — welcome aboard! I'm sure you'll find the folks here friendly, welcoming, professional, knowledgeable, and happy to help.

I noticed in your opening post that it is AutoIt code. But in your most recent post, you mention AHK twice, which is an abbreviation for AutoHotkey. AutoHotkey is a fork of AutoIt, as discussed in my EE article, AutoHotkey - Getting Started, but it has evolved independently and has different syntax and semantics from AutoIt.

Do you want to solve your problem with AutoIt or AutoHotkey? Regards, Joe
0
 

Author Comment

by:DORON ZUR
ID: 41736819
Hi Joe and Saige, love you people, you are so friendly and helpful and I know you are doing everything from the bottom of your heart !
Autoit Forum Supporters (some staff members and some moderators-there aren't many)
are so suspicious, insulting and penalize you on nearly every word which hurts their pride and vanity.
They often ban you either for a few days or permanently from their Forum which is a shame.
They look more like Judges than Forum supporters...
So banned members try coming back creating new accounts under different email addresses and nicknames, but their I.P address is immediately detected and they are "severely punished" by the moderators, making them feel like young teenager school boys who are being caned or put on detention.
***see this url link: 'Old Banned Users' :
https://www.autoitscript.com/forum/topic/33797-old-banned-users/?page=1

You will not believe the amount of foul language used, the amount of punishments the moderators inflict on the miserable forum members...their only so called "guilt" is trying to
learn a new scripting language or if they are more veteran AutoIt script coders trying so hard to improve their code.

This raises hell, foul language is used by both sides: the suffering Forum Members and the quick-to take offence Moderators.

Myself being entirely new to AutoIt,
I too was insulted time and again my "guilt" being dissatisfied with a certain code.
When I dared ask for more assistance (Charles Dicken's Oliver Twist: Please Sir, I want some more...)
i became a nagging person that DOES NOT UNDERSTAND AND SHOULD NOT WRITE ANY CODE and was told to IMMEDIATELY STOP SPAMMING the post which I myself had began:
how offensive and hurting this is.

Today I showed them how wrong they were with their code detecting the 32 bit OS Architecture:
thanks to Saige's wonderful ! example I could beat them at their own game by showing them
who is lacking in scripting ability:

HERE IS MY POST TO THEM THIS MORNING:

Date: 31 July 2016

Post On AutoIt Forum:

Subject:
"Referencing each OS Architecture individually via Else If Conditional Statement"

Hello,

The @OSArch Macro references 3 types of Architecture:

"X86", "IA64", "X64"

Since there are 3 OS architecture types I best believe that the following
else if Conditional Statement Syntax best deals with making the proper ultimate distinction between the three:

Sntax:

if (condition1) {
    block of code to be executed if condition1 is true
} else if (condition2) {
    block of code to be executed if the condition1 is false and condition2 is true
} else {
    block of code to be executed if the condition1 is false and condition2 is false
}

Open in new window


I then add that,
while being lately engaged in trying to reference each OS Architecture individually
for a coding I was working on you have given me in your last reply incomplete coding.

I therefore believe I was right in being so very unsatisfied from the reply you have provided.

This is the coding you have given me with Insufficient Distinction in the Else Statement:

The following:
Else Statement does not distinctly reference a 32 bit OS
as it could also reference an IA64 bit OS:

If @OSArch = "X64" Then
    ;Do Something for 64bit machines
Else
   ;Do Something for 32bit machines 
   ; Insufficient Else detection code as could also reference "IA64" bit  (DORON)

Open in new window


This above example was provided by your Moderator.

After this I continue with:
So for the benefit of the distinguished AutoIt Forum members, here is the following
Architecture Referencing code I have written, (b.t.w Saige, thank you again for your code...)
for EACH OS INDIVIDUALLY which singles out and properly identifies the requested 32 bit OS as it should be in the Else Statement:

#include <MsgBoxConstants.au3>

If @OSArch = "X64" Then
;Do Something for 64 bit machines
MsgBox($MB_SYSTEMMODAL, "condition1 is true", "64 bit version Detected !", 10)

ElseIf @OSArch = "IA64" Then
;Do Something for IA64 bit machines
MsgBox($MB_SYSTEMMODAL, "condition1 is false and condition2 is true", "IA64 bit version Detected !", 10)

Else
   ;Do Something for 32 bit machines
   MsgBox($MB_SYSTEMMODAL, "condition1 is false and condition2 is false", "32 bit version Detected !", 10)
EndIf

Open in new window


After presenting them with the overriding code, I concluded with:
Dear Forum Members if any of you have any other suggestions please feel completely free
to present them on this post.

Immediately upon completing this post I was replied very harshly by an AutoIt Staff Member
that I am shaming their Moderator (who supplied the insufficient code)
and the POST WAS SHUT DOWN !

Dear Saige and Joe,
I have been for so many years in the IT profession also in the employ of my nation's Government;
there is no reason in the world for the nightmare I have experienced with the AutoIt Forum Support.
Please read my Xperts Xchange Bio.

This attitude on the part of AutoIt Forum staff and Moderators left me with no other choice but
emigrate to AUTO HOT KEY script knowing that the Forum supporters there respond quickly, efficiently and decently just like you guys.

PLEASE KEEP THE ABOVE CONFIDENTIAL BETWEEN ME AND YOU GUYS.

Now let us try get back to our business guys.

Saige, I already found the answer with AUTO Hot Key, how to make Windows 7 SideBar Stay On Top:
This is done with AHK WinSet Command:

WinSet, AlwaysOnTop, On, ahk_class SideBar_HTMLHostWindow

Open in new window


What you have to do is use the Window Spy supplied with the AHK software which reads vital information from the Active window, or gadget (sidebar).
You click on the window: Activate It and read the Active Window information
supplied by the window spy.

so very nice and neat.

There are some cases when this does not work out so they also have SOS code for such events,
Please look up their Help file.

Thank You So Much,
Best Regards and Success,
Doron Zur.
0
 
LVL 51

Assisted Solution

by:Joe Winograd, EE MVE
Joe Winograd, EE MVE earned 125 total points
ID: 41736877
Hi Doron,
Sorry to hear about your poor treatment at the AutoIt forum. I'm confident that you won't find such behavior here at Experts Exchange or at the AutoHotkey forum, where I also participate. In fact, I noticed your question there:
How to make a Windows SideBar Stay On Top via Code

And I learned something from boiler's replies — he's one of many very smart AHK coders at that forum. Also, in case you're not aware of it, AHK offers the following built-in variables:
A_OSType
A_OSVersion
A_Is64bitOS

These are all defined here:
https://autohotkey.com/docs/Variables.htm#os

Regards, Joe
1
 

Author Comment

by:DORON ZUR
ID: 41736900
Thank You Joe.
I shall look into it later this morning.
Better stick to AHK than suffer ill treatment (and waste of time) at the AutoIt Forum.
Here it is very late in the morning: 04:37 A.M (IDT).
Good Night/Morning...
Doron.
0
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 32

Expert Comment

by:it_saige
ID: 41737553
@Doron,

AutoIT also supplies an application very much like Window Spy called Au3Info.exe.  As I had stated, however, the problem is that Microsoft has made the desktop itself the gadget container so I could not easily retrieve the window associated with the sidebar using the Au3Info.exe.  On the other hand, I was able to retrieve the class associated with the 8Gadgetpack sidebar which, in case you are curious, is "7 Sidebar".

That being said, using the class that you have identified, I can get the window handle associated with the sidebar.exe using AutoIT and set the top most option for the window associated with the retrieved handle -
#include <MsgBoxConstants.au3>
#include <AutoItConstants.au3>

;Load the sidebar and get the handle
Local $hSidebar = LoadSideBar()
If Not $hSidebar Then
    MsgBox($MB_SYSTEMMODAL, "", "Sidebar handle ERR: " & @error)
Else
    MsgBox($MB_SYSTEMMODAL, "", "Sidebar handle OK: " & $hSidebar)

	;Set sidebar to topmost
	SidebarTopMost($hSidebar)
EndIf

Func LoadSidebar()
	Local $sPath = RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\sidebar.exe", "")
	Local $sProgramFiles = EnvGet("PROGRAMFILES")
	Local $sProgramFilesX86 = EnvGet("PROGRAMFILES(X86)")

	If Not ProcessExists("[CLASS:SideBar_HTMLHostWindow]") Then
		;AutoIT seems to have a problem expanding the registry value since it is
		;surrounded by quotes, easier to just replace the text.
		If StringInStr($sPath, "%ProgramFiles(x86)%", 2) > 0 Then
			$sPath = StringReplace($sPath, "%ProgramFiles(x86)%", $sProgramFilesX86, 0, 2)
		ElseIf StringInStr($sPath, "%ProgramFiles%", 2) > 0 Then
			$sPath = StringReplace($sPath, "%ProgramFiles%", $sProgramFiles, 0, 2)
		EndIf
		Run($sPath, "", @SW_SHOW)
		WinWait("[CLASS:SideBar_HTMLHostWindow]", "", 5.5)
	EndIf
	Return WinGetHandle("[CLASS:SideBar_HTMLHostWindow]")
EndFunc

Func SidebarTopMost($hWnd)
		Local $iState = WinGetState($hWnd)
		If @error <> 0 Then
			MsgBox($MB_SYSTEMMODAL, "", "Sidebar has no window.  Error: " & @error)
		Else
			MsgBox($MB_SYSTEMMODAL, "", "Sidebar has a window.  State is: " & $iState)
		EndIf

		If WinActivate($hWnd) Then
			MsgBox($MB_SYSTEMMODAL, "", "Sidebar is active.")
		Else
			MsgBox($MB_SYSTEMMODAL, "", "Sidebar is not active.  Error: " & @error)
		EndIf

		If WinSetOnTop($hWnd, "", $WINDOWS_ONTOP) Then
			MsgBox($MB_SYSTEMMODAL, "", "Sidebar is topmost.")
		Else
			MsgBox($MB_SYSTEMMODAL, "", "Sidebar is not topmost.  Error: " & @error)
		EndIf
EndFunc

;-----------------

Open in new window


See if this can also produce your expected results (even though, I have the distinct feeling that you may prefer to use AHK which is fine either way.  ;) ).

-saige-
0
 

Author Comment

by:DORON ZUR
ID: 41737979
You are quite right, I do prefer AHK. Also because of being abused by the AutoIt Forum Mods
time and again.
See the hate exchange between Mods and Forum members there:
https://www.autoitscript.com/forum/topic/33797-old-banned-users/?page=1

using FOUL LANGUAGE on a daily basis - on both sides,
throwing insults at each other, they use the terminology 'Bashing' at each other
 - just like a Box Fight! -
Mods shutting its Forum Members' Accounts on a daily basis, enjoying
inflicting severe punishments on its Forum members: "Ban him for 24 hours, no ban him for
a whole 7 days, no ban him indefinitely..."
I have never seen such hate on a community website.

Some Abuse Internet Regulatory Website should become aware of what happens on this
hate exchange community Forum website and deal harshly with those running it.
What i do know is that this is a United Kingdom Website so perhaps
some British Internet Authority should have a closer look into it.

I wonder if someone posted anything to the effect on FaceBook to make other internet
users aware of what is going on there.

So I simply avoid going there and do not want to ask them questions on the AutoIt Script language
knowing that they will eventually abuse me at some point of time.

I now have a new issue with Mdm Zinc 3 Window not staying on top with the AHK Winset Command.
The AHK Forum response to my question is terribly slow and even their admin does not answer my general questions -I had asked him to delete unnecessary notifications i receive in my AHK account.

Dear Saige,
Here is the question I put to the slow to respond AHK Forum Members:

Subject:
Mdm Zinc 3 Window not staying on top via Winset Command

Hello,

General OverView:
---------------------
Mdm Multimedia was a British Company (Regrettably went out of business mid-April 2015)
which wrote API Zinc Script embedded into the Adobe Flash ActionScript Platform.
The integrated Zinc Script and Actionscript are finally compiled via a Zinc Builder.
The output is an executable file producing a Cross-OS-Platform Rich Internet Desktop Application (RIA).

As a Flash expert and a College Graduate of Computerized Graphics I have built some very fine software produced with Mdm's Application Programming Interface Tools.

Issue:
------
Much to my dismay trying to make my Mdm software application Windows
'Stay On Top' via Ahk Winset Scripting does NOT work.
Although fairly new to AHK I do know from both AHK Help file and Googling through that Winget command may save the day here but how exactly, I am not quite sure...

My Os Architecture Machine is X64 on a Windows version 7 Platform.

Please see following code which failed to make the Mdm Zinc 3 Window 'Stay On Top':

(Saige, I used Window Spy to detect the MdM Zinc 3 Window's AHK_CLASS)

#SingleInstance, Force
F5::
MsgBox MdM Zinc 3 Window AlwaysOnTop is to be set to 'On' (Mode)
;
;---------------------------------------------------------------------
WinSet, AlwaysOnTop, On, ahk_class MDMZINC3WINDOW
;---------------------------------------------------------------------
;

Open in new window



Awaiting your learned reply, Saige, Doron.
0
 
LVL 51

Expert Comment

by:Joe Winograd, EE MVE
ID: 41738005
> The AHK Forum response to my question is terribly slow
> the slow to respond AHK Forum Members

I just got an email with the link to your post there:
https://autohotkey.com/boards/viewtopic.php?f=5&t=21018

It says you posted at 11:58am (that's probably my local time) and received a reply at 2:00pm. That's a shade over two hours. Since these forums (EE included) are staffed by volunteers who are donating their time — absolutely zero compensation — I don't think it's fair to characterize a two-hour response as "terribly slow". Just one person's opinion. It's also worth noting that you haven't responded to the reply there in an hour and a quarter. Regards, Joe
0
 
LVL 32

Expert Comment

by:it_saige
ID: 41738009
Just taking a stab in the dark as I have neither the AHK scripting engine installed, nor the Mdm Zinc toolset.

But, perhaps you have to activate the window before you can set it as topmost (notice I did the same thing with the Sidebar above).  Maybe something like:
#SingleInstance, Force
F5::
MsgBox MdM Zinc 3 Window AlwaysOnTop is to be set to 'On' (Mode)
;
;---------------------------------------------------------------------
WinActivate, ahk_class MDMZINC3WINDOW
;---------------------------------------------------------------------
WinSet, AlwaysOnTop, On, ahk_class MDMZINC3WINDOW
;---------------------------------------------------------------------
;

Open in new window


-saige-
1
 

Author Comment

by:DORON ZUR
ID: 41753208
Hi SAIGE ! JOE !
I do apologize for not continuing the thread for the last days,
I was heavily engaged in some private matters.
anyway,
Yes, it is quite right to WinActivate the MDMZINC3WINDOW prior to setting it as TopMost.
But this in itself is Not enough. I was at pains trying to find out
why the MDM Zinc Window would not Stay On Top although both WinActivating and setting it to TopMost via AHK script.

Reason is, after delving deeply into the matter is that the Zinc Compiler (Zinc 3 Builder) was set to
compile the Flash Shockwave File (*.swf) with Window 'Stays On Top' as True.
It was only having set the Zinc Compiler 'Stays On Top' option to FALSE that I could make it respond
to AHK's class reference to MDMZINC3WINDOW called by the WinActivate and Winset Commands.

B.T.W
As to the misery I had endured with the AutoIt Forum Mods I had replied by composing a:
1.
FaceBook Page:
FaceBook Page about the AutoIT Mods Forum Abuse
(https://www.facebook.com/abusebyautoitforum/)

with over 3,000 page likes within a week...

2.
Private Website:
Private Website on the AutoIT Mods Forum Abuse
(http://www.best-translations.co.il/FaceBook-Community-Pages/AutoIt-Community-Forum-Injustice/default.asp)

with 859 Website Clicks within a week.

See on my private website, the Home Page article and click on the My Script button to see the overriding script (SAIGE'S suggestion...) as compared with the insufficient, incomplete script suggested by the AutoIt Forum Mod, and if you wish to read the informative article based on the ethical teachings and maxims of the Jewish Rabbis of the Mishnaic period on student/teacher relationship,
you are very welcome to do so by clicking on the 'Pirkey Avot' (Hebrew: 'Chapters of the Fathers') button.

I should guess that at least for the time being this should settle the score between the AutoIt Forum Mods and myself.

You can also enter into Google search box, (two) search term words "AUTOIT INJUSTICE" (commas omitted), to see the link to my Facebook page appear on Google's first page results and go right to my facebook page.

Have a nice time my good friends.
Bye,
Doron.
0
 
LVL 51

Expert Comment

by:Joe Winograd, EE MVE
ID: 41753216
Shalom Doron,
Thanks for the update — very helpful! Regards, Joe
0
 

Author Comment

by:DORON ZUR
ID: 41753225
Shalom Joe, glad you enjoyed the update.
Please call also Saige's attention to my update.
Signing off now, at 02:43 a.m. (IDT).
Warmest Regards,
Shabat Shalom (almost)
bye,
Doron.
0
 
LVL 32

Expert Comment

by:it_saige
ID: 41753860
Glad you got it sorted out Doron.  Please do not hesitate to revisit and ask additional questions if the need arises.

-saige-
0
 
LVL 51

Expert Comment

by:Joe Winograd, EE MVE
ID: 41757416
Hi Doron,
I'm wondering if you would be so kind as to explain your selection of that comment as the Accepted (and only) Solution. Thanks, Joe
0
 

Author Comment

by:DORON ZUR
ID: 41757436
Hello, I was emailed this morning that I have abandoned the topic.  All I did is try close the topic which thanks to Siage and Yourself has been most helpfully dealt with. I thank both you sir, and Saige for your wonderful assistance. Perhaps I have pressed on the wrong closing button.

You and Saige are awarded a FULL 5 STAR RATING- you may forward this thread to the EE relevant authority.
Thank You very much again and have a nice week.
Doron.
0
 
LVL 51

Expert Comment

by:Joe Winograd, EE MVE
ID: 41758198
Hi Doron,

Thank you for the explanation of why you chose that post. Thanks, too, for the comments about our "wonderful assistance" and "FULL 5 STAR RATING" — it's great to hear compliments like that!

I'll file a Request Attention to re-open this question so that you can close it more appropriately. Here at EE, the askers of questions are the ones who close them. This article shows how to accept multiple comments as your solution, which is surely what you want to do in this case:
How do I accept multiple comments as my solution?

You may also split the 500 points among all of the experts however you want by clicking the "Edit Points & Grades" button. The grade in nearly all cases should be an "A", but you can learn more about that in this article:
What grade should I award?

A pleasure to work with you on this question. You have a nice week, too. Regards, Joe
0
 

Author Comment

by:DORON ZUR
ID: 41762888
I SHALL EVER BE INDEBTED AND GRATEFUL FOR RECEIVING A WONDERFUL SOLUTION TO MY QUESTION
AND EXTREMELY HELPFUL, POWERFUL TIPS AND EXPERT GUIDE LINES FROM THE EXPERTS' EXCHANGE WEBSITE.
I HAVE ARRIVED AT YOUR WEBSITE HAVING SUFFERED ABUSE BY THE AUTOIT SCRIPTING LANGUAGE FORUM MODERATORS WHO HAVE NOT SUPPLIED ME WITH A REASONABLE SOLUTION TO MY QUESTION.
THEY WERE LITTLE TEMPERED, QUICK-TO-TAKE-OFFENSE, OFTEN USING BOLD AND OFFENSIVE LANGUAGE AND I WAS SHOCKED AT THE AMOUNT OF HOSTILITY THEY HAD SHOWN TOWARDS ME.
THE MORE I KEPT ASKING THEM FOR A SOLUTION, THE MORE HOSTILE WAS THEIR REACTION UNTIL THEY ABRUPTLY CLOSED DOWN MY TOPIC BLAMING ME OF 'SPAMMING' THEIR FORUM, LEAVING MY QUESTION UNRESOLVED.
ON THE CONTRARY, THE EXPERTS EXCHANGE WEBSITE GAVE ME A HEARTILY WELCOME,
SHOWN EAGERNESS AND ZEAL TO SOLVE MY QUESTION AND AS DEAR JOE WINOGRAD Of EE had put it:
'Here at EE, the askers of questions are the ones who close them'.
THUS, WITH TEARS SET IN MY EYES I UNDERSTOOD IN RETROSPECT HOW WRONG IT WAS FOR ME TO HAVE JOINED THE HOSTILE AUTOIT FORUM IN THE FIRST PLACE.
BUT I AM NOT THE ONLY OFFENDED EX-(BANNED) MEMBER OF THE AUTOIT FORUM.
MANY ARE THE BANNED MEMBERS OF THE AUTOIT FORUM WHO POST THEIR PREDICAMENTS OF SUFFERING FROM THE AUTOIT FORUM MODERATORS' HARD LINE POLICY AND UNCIVILIZED BEHAVIOUR ON THE WORLD WIDE WEB.
I HAD THUS DECIDED FOR THE WELL BEING OF POTENTIAL AUTOIT FORUM MEMBERS TO REVEAL THE TRUE FACE OF THE AUTOIT FORUM WEBSITE:
I HAD SET UP A POPULAR FACEBOOK PAGE (NON-COMMERCIAL) AT:
My FaceBook Page
https://www.facebook.com/autoitforumabuse/
WITH AN EVER GROWING FACEBOOK VOLUME OF 'LIKES' WHICH ALSO REFERS HUNDREDS OF VISITORS ON A DAILY BASIS TO MY (NON-COMMERCIAL) WEBSITE AT:
My Website
HTTP://AUTOIT.MOD-ABUSE.COM
YOU MAY ALSO ENTER THE FOLLOWING SEARCH TERM WORDS INTO THE GOOGLE SEARCH BOX (COMMAS OMITTED):
'AUTOIT FORUM ABUSE', 'AUTOIT FORUM INJUSTICE' AND SEE THE LINK TO MY WEBSITE ON THE GOOGLE FIRST PAGE RESULTS.

WITH LOVE, ADMIRATION AND RESPECT TO THE EXPERTS' EXCHANGE WEBSITE,
VISITORS, SUBSCRIBERS, MODS AND ADMINS ALIKE
,
DORON ZUR, THE STATE OF ISRAEL
0
 
LVL 51

Expert Comment

by:Joe Winograd, EE MVE
ID: 41762928
Doron,
Thank for your thoughtful closing comments and properly closing the question — both very much appreciated! Good Shabbos, Joe
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Introduction:   Welcome to my first article ever. To begin with, the reason I write this article.  I participated in a question on Experts Exchange about the start command in Windows and there were some discussion about the usage. The discussio…
Making a simple AJAX shopping cart Couple years ago I made my first shopping cart, I used iframe and JavaScript, it was very good at that time, there were no sessions or AJAX, I used cookies on clients machine. Today we have more advanced techno…
Learn the basics of modules and packages in Python. Every Python file is a module, ending in the suffix: .py: Modules are a collection of functions and variables.: Packages are a collection of modules.: Module functions and variables are accessed us…
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now