Advertisement

Results for "Author: joe jordan"

ASP_Volume2 #37774
An MS Calculator Replica with several extra Features

Features Include: Unlimited Operations on one line – Calculator Plus allows you to type out your equation and can view it all in one line. The solve function follows order of operation rules and can handle any number of operators on one line. Last Solved Line – Displays the last equation you just solved. Helpful if you forget what you had just calculated. +/- Button – Works on any number in the equation, can appear multiple times in one equation, and is correctly processed by the solver. CE Button – Clears the last number entered without erasing the entire equation. Edit – Copy Function – Sets the current equation to the clipboard for pasting. Memory Functions – Memory recall correctly places the current number stored in memory to the end of the current equation. Supports Keyboard input – Focus can be anywhere on the calculator and keyboard events will still be processed into the calculator. Accurate Formatting – Calculator Plus corrects input errors on the fly to avoid solving errors later (removes zeros from an input number, etc.)

ASP_Volume3 #65607
Form Shadow (Originally by Paul Caton)

Originally by Paul Caton (txtCodeId=64867), this is a class that gives your forms a customizable shadow. Updated to use LaVolpe's revamped SelfSub (txtCodeId=68737) and adds support for Windows Vista and Windows 7.

ASP_Volume3 #65608
Interprocess Communication via Semaphores

New version 1.1 + Added IsSemaphore function to quickly test for the existence of a semaphore + Added HandleSecurity feature which prevents the closing of the semaphore handle via CloseHandle + Added caching of ValidateDLL result to improve speed + Started Adding QueryHandleCount function; if anyone can fix it please let me know - Fixed logic error in getting the semaphore global state if we opened an existing semaphore on initialize call --- Ah, semaphores, the staple of any good operating system. I searched for a VB6 example implementing the semaphore functions and came up mostly empty-handed. This class attempts to fill that missing gap in the world of VB6 examples. In developing this class, I initially thought it would be simple to create a global semaphore that all users would have access to. After all, the documentation states that: "The semaphore name can have a "Global\" or "Local\" prefix to explicitly create the object in the global or session name space." Little did I know that I would have to delve into the depths of Windows security functions in order to actually provide *true* Global semaphore functionality. After many failed attempts, approaches and cryptic error messages (The revision level is unknown. WTF?), I believe that the infamous ACL dragon has, for our intentions at least, been slayed. I took the advice of one Anne Gunn and implemented some additional security for our global semaphore, so rogue applications can't steal our lunch money completely. The majority of the trial and error took place in finding the proper way to call and declare the security APIs. I thought I was 98% done, so I tested on XP to see if it worked there, as I figured if I could get it to work on Windows 7-64 bit, surely it would work in the UAC-less environment of XP. Well, it worked fine in the IDE, but spit out an invalid memory access error when compiled. I had gotten a similar error while testing in Windows 7 and tracked it down to using the actual struct when calling CreateSemaphore rather than the pointer. So I had to go back through each call and test to see which one needed the actual struct instead of the pointer. Turns out it was SetSecurityDescriptorDacl that needed to accept an actual SECURITY_DESCRIPTOR rather than a pointer to one. After the 2nd such discovery, I went back and used the actual structs whenever possible as a precaution. The class was lightly tested on Windows 2000, XP, Vista and Windows 7. If you come across any issues or have any improvements or suggestions please let me know. Credits: http://undocumented.ntinternals.net/ for information on the undocumented NtQuerySemaphore API function and the (also undocumented) SEMAPHORE_QUERY_STATE permission constant. Anne Gunn for her excellent, thorough and well written article and accompanying code on creating a not-quite-null dacl, and explaining the benefits of doing so. http://www.codeguru.com/cpp/w-p/win32/tutorials/article.php/c4545 Matts_User_Name of the SysInternals forums for the QueryName function. http://forum.sysinternals.com/handle-name-help-ntqueryObject_topic14435_page2.html IrfanAhmad on the MSDN forums for his thread on how to share a semaphore: http://social.msdn.microsoft.com/Forums/en/windowssdk/thread/335db156-b1f7-45e2-b3d1-f0e79e386744

C_Volume2 #78836
An MS Calculator Replica with several extra Features

Features Include: Unlimited Operations on one line – Calculator Plus allows you to type out your equation and can view it all in one line. The solve function follows order of operation rules and can handle any number of operators on one line. Last Solved Line – Displays the last equation you just solved. Helpful if you forget what you had just calculated. +/- Button – Works on any number in the equation, can appear multiple times in one equation, and is correctly processed by the solver. CE Button – Clears the last number entered without erasing the entire equation. Edit – Copy Function – Sets the current equation to the clipboard for pasting. Memory Functions – Memory recall correctly places the current number stored in memory to the end of the current equation. Supports Keyboard input – Focus can be anywhere on the calculator and keyboard events will still be processed into the calculator. Accurate Formatting – Calculator Plus corrects input errors on the fly to avoid solving errors later (removes zeros from an input number, etc.)

Java_Volume1 #97380
An MS Calculator Replica with several extra Features

Features Include: Unlimited Operations on one line – Calculator Plus allows you to type out your equation and can view it all in one line. The solve function follows order of operation rules and can handle any number of operators on one line. Last Solved Line – Displays the last equation you just solved. Helpful if you forget what you had just calculated. +/- Button – Works on any number in the equation, can appear multiple times in one equation, and is correctly processed by the solver. CE Button – Clears the last number entered without erasing the entire equation. Edit – Copy Function – Sets the current equation to the clipboard for pasting. Memory Functions – Memory recall correctly places the current number stored in memory to the end of the current equation. Supports Keyboard input – Focus can be anywhere on the calculator and keyboard events will still be processed into the calculator. Accurate Formatting – Calculator Plus corrects input errors on the fly to avoid solving errors later (removes zeros from an input number, etc.)

2_2002-2004 #124527
An MS Calculator Replica with several extra Features

Features Include: Unlimited Operations on one line – Calculator Plus allows you to type out your equation and can view it all in one line. The solve function follows order of operation rules and can handle any number of operators on one line. Last Solved Line – Displays the last equation you just solved. Helpful if you forget what you had just calculated. +/- Button – Works on any number in the equation, can appear multiple times in one equation, and is correctly processed by the solver. CE Button – Clears the last number entered without erasing the entire equation. Edit – Copy Function – Sets the current equation to the clipboard for pasting. Memory Functions – Memory recall correctly places the current number stored in memory to the end of the current equation. Supports Keyboard input – Focus can be anywhere on the calculator and keyboard events will still be processed into the calculator. Accurate Formatting – Calculator Plus corrects input errors on the fly to avoid solving errors later (removes zeros from an input number, etc.)

3_2004-2005 #143071
An MS Calculator Replica with several extra Features

Features Include: Unlimited Operations on one line – Calculator Plus allows you to type out your equation and can view it all in one line. The solve function follows order of operation rules and can handle any number of operators on one line. Last Solved Line – Displays the last equation you just solved. Helpful if you forget what you had just calculated. +/- Button – Works on any number in the equation, can appear multiple times in one equation, and is correctly processed by the solver. CE Button – Clears the last number entered without erasing the entire equation. Edit – Copy Function – Sets the current equation to the clipboard for pasting. Memory Functions – Memory recall correctly places the current number stored in memory to the end of the current equation. Supports Keyboard input – Focus can be anywhere on the calculator and keyboard events will still be processed into the calculator. Accurate Formatting – Calculator Plus corrects input errors on the fly to avoid solving errors later (removes zeros from an input number, etc.)

4_2005-2006 #170904
Form Shadow (Originally by Paul Caton)

Originally by Paul Caton (txtCodeId=64867), this is a class that gives your forms a customizable shadow. Updated to use LaVolpe's revamped SelfSub (txtCodeId=68737) and adds support for Windows Vista and Windows 7.

4_2005-2006 #170905
Interprocess Communication via Semaphores

New version 1.1 + Added IsSemaphore function to quickly test for the existence of a semaphore + Added HandleSecurity feature which prevents the closing of the semaphore handle via CloseHandle + Added caching of ValidateDLL result to improve speed + Started Adding QueryHandleCount function; if anyone can fix it please let me know - Fixed logic error in getting the semaphore global state if we opened an existing semaphore on initialize call --- Ah, semaphores, the staple of any good operating system. I searched for a VB6 example implementing the semaphore functions and came up mostly empty-handed. This class attempts to fill that missing gap in the world of VB6 examples. In developing this class, I initially thought it would be simple to create a global semaphore that all users would have access to. After all, the documentation states that: "The semaphore name can have a "Global\" or "Local\" prefix to explicitly create the object in the global or session name space." Little did I know that I would have to delve into the depths of Windows security functions in order to actually provide *true* Global semaphore functionality. After many failed attempts, approaches and cryptic error messages (The revision level is unknown. WTF?), I believe that the infamous ACL dragon has, for our intentions at least, been slayed. I took the advice of one Anne Gunn and implemented some additional security for our global semaphore, so rogue applications can't steal our lunch money completely. The majority of the trial and error took place in finding the proper way to call and declare the security APIs. I thought I was 98% done, so I tested on XP to see if it worked there, as I figured if I could get it to work on Windows 7-64 bit, surely it would work in the UAC-less environment of XP. Well, it worked fine in the IDE, but spit out an invalid memory access error when compiled. I had gotten a similar error while testing in Windows 7 and tracked it down to using the actual struct when calling CreateSemaphore rather than the pointer. So I had to go back through each call and test to see which one needed the actual struct instead of the pointer. Turns out it was SetSecurityDescriptorDacl that needed to accept an actual SECURITY_DESCRIPTOR rather than a pointer to one. After the 2nd such discovery, I went back and used the actual structs whenever possible as a precaution. The class was lightly tested on Windows 2000, XP, Vista and Windows 7. If you come across any issues or have any improvements or suggestions please let me know. Credits: http://undocumented.ntinternals.net/ for information on the undocumented NtQuerySemaphore API function and the (also undocumented) SEMAPHORE_QUERY_STATE permission constant. Anne Gunn for her excellent, thorough and well written article and accompanying code on creating a not-quite-null dacl, and explaining the benefits of doing so. http://www.codeguru.com/cpp/w-p/win32/tutorials/article.php/c4545 Matts_User_Name of the SysInternals forums for the QueryName function. http://forum.sysinternals.com/handle-name-help-ntqueryObject_topic14435_page2.html IrfanAhmad on the MSDN forums for his thread on how to share a semaphore: http://social.msdn.microsoft.com/Forums/en/windowssdk/thread/335db156-b1f7-45e2-b3d1-f0e79e386744

5_2007-2008 #193422
Form Shadow (Originally by Paul Caton)

Originally by Paul Caton (txtCodeId=64867), this is a class that gives your forms a customizable shadow. Updated to use LaVolpe's revamped SelfSub (txtCodeId=68737) and adds support for Windows Vista and Windows 7.

5_2007-2008 #193423
Interprocess Communication via Semaphores

New version 1.1 + Added IsSemaphore function to quickly test for the existence of a semaphore + Added HandleSecurity feature which prevents the closing of the semaphore handle via CloseHandle + Added caching of ValidateDLL result to improve speed + Started Adding QueryHandleCount function; if anyone can fix it please let me know - Fixed logic error in getting the semaphore global state if we opened an existing semaphore on initialize call --- Ah, semaphores, the staple of any good operating system. I searched for a VB6 example implementing the semaphore functions and came up mostly empty-handed. This class attempts to fill that missing gap in the world of VB6 examples. In developing this class, I initially thought it would be simple to create a global semaphore that all users would have access to. After all, the documentation states that: "The semaphore name can have a "Global\" or "Local\" prefix to explicitly create the object in the global or session name space." Little did I know that I would have to delve into the depths of Windows security functions in order to actually provide *true* Global semaphore functionality. After many failed attempts, approaches and cryptic error messages (The revision level is unknown. WTF?), I believe that the infamous ACL dragon has, for our intentions at least, been slayed. I took the advice of one Anne Gunn and implemented some additional security for our global semaphore, so rogue applications can't steal our lunch money completely. The majority of the trial and error took place in finding the proper way to call and declare the security APIs. I thought I was 98% done, so I tested on XP to see if it worked there, as I figured if I could get it to work on Windows 7-64 bit, surely it would work in the UAC-less environment of XP. Well, it worked fine in the IDE, but spit out an invalid memory access error when compiled. I had gotten a similar error while testing in Windows 7 and tracked it down to using the actual struct when calling CreateSemaphore rather than the pointer. So I had to go back through each call and test to see which one needed the actual struct instead of the pointer. Turns out it was SetSecurityDescriptorDacl that needed to accept an actual SECURITY_DESCRIPTOR rather than a pointer to one. After the 2nd such discovery, I went back and used the actual structs whenever possible as a precaution. The class was lightly tested on Windows 2000, XP, Vista and Windows 7. If you come across any issues or have any improvements or suggestions please let me know. Credits: http://undocumented.ntinternals.net/ for information on the undocumented NtQuerySemaphore API function and the (also undocumented) SEMAPHORE_QUERY_STATE permission constant. Anne Gunn for her excellent, thorough and well written article and accompanying code on creating a not-quite-null dacl, and explaining the benefits of doing so. http://www.codeguru.com/cpp/w-p/win32/tutorials/article.php/c4545 Matts_User_Name of the SysInternals forums for the QueryName function. http://forum.sysinternals.com/handle-name-help-ntqueryObject_topic14435_page2.html IrfanAhmad on the MSDN forums for his thread on how to share a semaphore: http://social.msdn.microsoft.com/Forums/en/windowssdk/thread/335db156-b1f7-45e2-b3d1-f0e79e386744

6_2008-2009 #215940
Form Shadow (Originally by Paul Caton)

Originally by Paul Caton (txtCodeId=64867), this is a class that gives your forms a customizable shadow. Updated to use LaVolpe's revamped SelfSub (txtCodeId=68737) and adds support for Windows Vista and Windows 7.

6_2008-2009 #215941
Interprocess Communication via Semaphores

New version 1.1 + Added IsSemaphore function to quickly test for the existence of a semaphore + Added HandleSecurity feature which prevents the closing of the semaphore handle via CloseHandle + Added caching of ValidateDLL result to improve speed + Started Adding QueryHandleCount function; if anyone can fix it please let me know - Fixed logic error in getting the semaphore global state if we opened an existing semaphore on initialize call --- Ah, semaphores, the staple of any good operating system. I searched for a VB6 example implementing the semaphore functions and came up mostly empty-handed. This class attempts to fill that missing gap in the world of VB6 examples. In developing this class, I initially thought it would be simple to create a global semaphore that all users would have access to. After all, the documentation states that: "The semaphore name can have a "Global\" or "Local\" prefix to explicitly create the object in the global or session name space." Little did I know that I would have to delve into the depths of Windows security functions in order to actually provide *true* Global semaphore functionality. After many failed attempts, approaches and cryptic error messages (The revision level is unknown. WTF?), I believe that the infamous ACL dragon has, for our intentions at least, been slayed. I took the advice of one Anne Gunn and implemented some additional security for our global semaphore, so rogue applications can't steal our lunch money completely. The majority of the trial and error took place in finding the proper way to call and declare the security APIs. I thought I was 98% done, so I tested on XP to see if it worked there, as I figured if I could get it to work on Windows 7-64 bit, surely it would work in the UAC-less environment of XP. Well, it worked fine in the IDE, but spit out an invalid memory access error when compiled. I had gotten a similar error while testing in Windows 7 and tracked it down to using the actual struct when calling CreateSemaphore rather than the pointer. So I had to go back through each call and test to see which one needed the actual struct instead of the pointer. Turns out it was SetSecurityDescriptorDacl that needed to accept an actual SECURITY_DESCRIPTOR rather than a pointer to one. After the 2nd such discovery, I went back and used the actual structs whenever possible as a precaution. The class was lightly tested on Windows 2000, XP, Vista and Windows 7. If you come across any issues or have any improvements or suggestions please let me know. Credits: http://undocumented.ntinternals.net/ for information on the undocumented NtQuerySemaphore API function and the (also undocumented) SEMAPHORE_QUERY_STATE permission constant. Anne Gunn for her excellent, thorough and well written article and accompanying code on creating a not-quite-null dacl, and explaining the benefits of doing so. http://www.codeguru.com/cpp/w-p/win32/tutorials/article.php/c4545 Matts_User_Name of the SysInternals forums for the QueryName function. http://forum.sysinternals.com/handle-name-help-ntqueryObject_topic14435_page2.html IrfanAhmad on the MSDN forums for his thread on how to share a semaphore: http://social.msdn.microsoft.com/Forums/en/windowssdk/thread/335db156-b1f7-45e2-b3d1-f0e79e386744

7_2009-2012 #238458
Form Shadow (Originally by Paul Caton)

Originally by Paul Caton (txtCodeId=64867), this is a class that gives your forms a customizable shadow. Updated to use LaVolpe's revamped SelfSub (txtCodeId=68737) and adds support for Windows Vista and Windows 7.

7_2009-2012 #238459
Interprocess Communication via Semaphores

New version 1.1 + Added IsSemaphore function to quickly test for the existence of a semaphore + Added HandleSecurity feature which prevents the closing of the semaphore handle via CloseHandle + Added caching of ValidateDLL result to improve speed + Started Adding QueryHandleCount function; if anyone can fix it please let me know - Fixed logic error in getting the semaphore global state if we opened an existing semaphore on initialize call --- Ah, semaphores, the staple of any good operating system. I searched for a VB6 example implementing the semaphore functions and came up mostly empty-handed. This class attempts to fill that missing gap in the world of VB6 examples. In developing this class, I initially thought it would be simple to create a global semaphore that all users would have access to. After all, the documentation states that: "The semaphore name can have a "Global\" or "Local\" prefix to explicitly create the object in the global or session name space." Little did I know that I would have to delve into the depths of Windows security functions in order to actually provide *true* Global semaphore functionality. After many failed attempts, approaches and cryptic error messages (The revision level is unknown. WTF?), I believe that the infamous ACL dragon has, for our intentions at least, been slayed. I took the advice of one Anne Gunn and implemented some additional security for our global semaphore, so rogue applications can't steal our lunch money completely. The majority of the trial and error took place in finding the proper way to call and declare the security APIs. I thought I was 98% done, so I tested on XP to see if it worked there, as I figured if I could get it to work on Windows 7-64 bit, surely it would work in the UAC-less environment of XP. Well, it worked fine in the IDE, but spit out an invalid memory access error when compiled. I had gotten a similar error while testing in Windows 7 and tracked it down to using the actual struct when calling CreateSemaphore rather than the pointer. So I had to go back through each call and test to see which one needed the actual struct instead of the pointer. Turns out it was SetSecurityDescriptorDacl that needed to accept an actual SECURITY_DESCRIPTOR rather than a pointer to one. After the 2nd such discovery, I went back and used the actual structs whenever possible as a precaution. The class was lightly tested on Windows 2000, XP, Vista and Windows 7. If you come across any issues or have any improvements or suggestions please let me know. Credits: http://undocumented.ntinternals.net/ for information on the undocumented NtQuerySemaphore API function and the (also undocumented) SEMAPHORE_QUERY_STATE permission constant. Anne Gunn for her excellent, thorough and well written article and accompanying code on creating a not-quite-null dacl, and explaining the benefits of doing so. http://www.codeguru.com/cpp/w-p/win32/tutorials/article.php/c4545 Matts_User_Name of the SysInternals forums for the QueryName function. http://forum.sysinternals.com/handle-name-help-ntqueryObject_topic14435_page2.html IrfanAhmad on the MSDN forums for his thread on how to share a semaphore: http://social.msdn.microsoft.com/Forums/en/windowssdk/thread/335db156-b1f7-45e2-b3d1-f0e79e386744

Languages
Top Categories
Global Discovery