Are you over 18 and want to see adult content?
More Annotations
A complete backup of https://ravenwoodservices.co.uk
Are you over 18 and want to see adult content?
A complete backup of https://cafecasino.lv
Are you over 18 and want to see adult content?
A complete backup of https://torrends.to
Are you over 18 and want to see adult content?
A complete backup of https://elist10.com
Are you over 18 and want to see adult content?
A complete backup of https://gostream.site
Are you over 18 and want to see adult content?
A complete backup of https://digitalmeetsculture.net
Are you over 18 and want to see adult content?
A complete backup of https://mebel-mos.com
Are you over 18 and want to see adult content?
A complete backup of https://wayne-dalton.com
Are you over 18 and want to see adult content?
A complete backup of https://audiocircle.com
Are you over 18 and want to see adult content?
A complete backup of https://clickatellsucks.tv
Are you over 18 and want to see adult content?
A complete backup of https://clipzui.com
Are you over 18 and want to see adult content?
Favourite Annotations
A complete backup of sydneybuildexpo.com
Are you over 18 and want to see adult content?
A complete backup of tomundeva-usa.de
Are you over 18 and want to see adult content?
Text
AUTOHOTKEY WEBINAR
API calls / Webservice APIs. MS Word. Automating programs with Controls. Programming with Classes. DLL Calls. Programming with Functions. Document Object Model (DOM)THE-AUTOMATOR
Attached you will find the screenshot taken on "(TodayDate)" Please let me know if you have any questions. Joe Glines 682.209.8014 POWERPOINT PRESENTATIONWEB VIEW Business. How company is positioned (key words, using advertising, website, ) Do you have a . minimum. job size . Pricing model. Tiered vs fixed cost. Packaged or custom solutions AUTOHOTKEY MENTORSHIP Thank you for your interest in the AutoHotkey Mentorship program! I’ve been working with AutoHotkey for over 10 years and my biggest jumps in learning have been while I’m working with mentors ! I thought it would be great to give the AutoHotkey community a way STOPPING THE IDEA THIEF Ground Rules 1. *Not Legal Advice, Provided as Free Educational Material *General advice only * Every situation is different *Your attorney is the person to guide you through your specificsTHE-AUTOMATOR
the-Automator – Work Smarter, Not Harder! BRAND AWARENESS AS A NECESSARY PRECURSOR brand of (product) on each of the following scales. Please base your rating on your most recent choice of a brand of (product)." The three scales defining involvement encompass decision importance, degree of thought required (note the possible confounding here with the "think-feel" dimension), and perceived risk of choosing the wrongbrand.
THE-AUTOMATOR.COM
Moved Permanently. The document has moved here. SERVICE AUTOMATION: ROBOTS AND THE FUTURE OF WORK Service Automation: robots and the future of work . Hashtag for Twitter users: #LSErobots Department of Management public lecture . Professor Mary Lacity JOE GLINES – PAGE 11 – ROBOTIC DESKTOP AUTOMATION WITH Being able to Automate Chrome has been a long-time goal of mine. With GeekDude’s Chrome.ahk Class you now can do this. Read more about his class on the AHK forum here.. If you didn’t see it, also check out my other tutorial on Setting values with Chrome and AutoHotkey.. Here is the function I demonstrate in the below video on Automating Chrome with AutoHotkey: Getting InnerText, OuterHTMLAUTOHOTKEY WEBINAR
API calls / Webservice APIs. MS Word. Automating programs with Controls. Programming with Classes. DLL Calls. Programming with Functions. Document Object Model (DOM)THE-AUTOMATOR
Attached you will find the screenshot taken on "(TodayDate)" Please let me know if you have any questions. Joe Glines 682.209.8014 POWERPOINT PRESENTATIONWEB VIEW Business. How company is positioned (key words, using advertising, website, ) Do you have a . minimum. job size . Pricing model. Tiered vs fixed cost. Packaged or custom solutions AUTOHOTKEY MENTORSHIP Thank you for your interest in the AutoHotkey Mentorship program! I’ve been working with AutoHotkey for over 10 years and my biggest jumps in learning have been while I’m working with mentors ! I thought it would be great to give the AutoHotkey community a way STOPPING THE IDEA THIEF Ground Rules 1. *Not Legal Advice, Provided as Free Educational Material *General advice only * Every situation is different *Your attorney is the person to guide you through your specificsTHE-AUTOMATOR
the-Automator – Work Smarter, Not Harder! BRAND AWARENESS AS A NECESSARY PRECURSOR brand of (product) on each of the following scales. Please base your rating on your most recent choice of a brand of (product)." The three scales defining involvement encompass decision importance, degree of thought required (note the possible confounding here with the "think-feel" dimension), and perceived risk of choosing the wrongbrand.
THE-AUTOMATOR.COM
Moved Permanently. The document has moved here. SERVICE AUTOMATION: ROBOTS AND THE FUTURE OF WORK Service Automation: robots and the future of work . Hashtag for Twitter users: #LSErobots Department of Management public lecture . Professor Mary Lacity WWW.THE-AUTOMATOR.COM Moved Permanently. The document has moved here.THE-AUTOMATOR
Attached you will find the screenshot taken on "(TodayDate)" Please let me know if you have any questions. Joe Glines 682.209.8014SEPTEMBER 2016
While using AutoHotkey to connect to Excel is “easy”, it is also easy to be trying to use call a function to the wrong Excel object. In this video we discuss the below diagram and explain how to use AutoHotkey and Excel Object model.. Here is the function for specifying which Excel object you want to connect to AUTOHOTKEY MENTORSHIP Thank you for your interest in the AutoHotkey Mentorship program! I’ve been working with AutoHotkey for over 10 years and my biggest jumps in learning have been while I’m working with mentors ! I thought it would be great to give the AutoHotkey community a wayREVERSE LOOKUP
Detecting Carrier Type, Company and Location from Phone Number. I was talking to a company today that does “voicemail drops” (so they don’t actually call you, they just drop a message into yourvoicemail.
PORT – ROBOTIC DESKTOP AUTOMATION WITH AUTOHOTKEY GeekDude & Joe Glines: the back story how we connect to Chrome with AutoHotkey. This discussion wasn’t meant to be shared. GeekDude was giving me some background on how we’re connecting to Chrome.. It is a bit “advanced” but some really good background info (especially understanding what a socket verse WebSocket is). Below is the video and my transcript-ed notes from the discussionSCITE DEBUGGING
Debug with SciTE and AutoHotKey. Debugging can be very time consuming. If you’re using SciTE with AutoHotKey, there is built-in functionality that is very helpful. This video walks through some of the cool debugging features in SciTE. I also have a second debugging with SciTE video that you should check out after watching this one.. Make sure you take the time to review both videos! ROBOTICS PROCESS AUTOMATION Automating Chrome with AutoHotkey. In the fourth session with GeekDude we look at out to automate setting text in a search field and then hitting the button to submit the search.. Automating Chrome to Set Text & Click a button EXPLORER – ROBOTIC DESKTOP AUTOMATION WITH AUTOHOTKEY Use AutoHotkey to get Path from explorer and share full path with others. Working on multiple computers, in multiple environments, and with teams of people PORT – ROBOTIC DESKTOP AUTOMATION WITH AUTOHOTKEY GeekDude & Joe Glines: the back story how we connect to Chrome with AutoHotkey. This discussion wasn’t meant to be shared. GeekDude was giving me some background on how we’re connecting to Chrome.. It is a bit “advanced” but some really good background info (especially understanding what a socket verse WebSocket is). Below is the video and my transcript-ed notes from the discussion SERVICE AUTOMATION: ROBOTS AND THE FUTURE OF WORK Service Automation: robots and the future of work . Hashtag for Twitter users: #LSErobots Department of Management public lecture . Professor Mary Lacity JOE GLINES – PAGE 11 – ROBOTIC DESKTOP AUTOMATION WITH Being able to Automate Chrome has been a long-time goal of mine. With GeekDude’s Chrome.ahk Class you now can do this. Read more about his class on the AHK forum here.. If you didn’t see it, also check out my other tutorial on Setting values with Chrome and AutoHotkey.. Here is the function I demonstrate in the below video on Automating Chrome with AutoHotkey: Getting InnerText, OuterHTML AUTOHOTKEY MENTORSHIP Thank you for your interest in the AutoHotkey Mentorship program! I’ve been working with AutoHotkey for over 10 years and my biggest jumps in learning have been while I’m working with mentors ! I thought it would be great to give the AutoHotkey community a wayAUTOHOTKEY WEBINAR
API calls / Webservice APIs. MS Word. Automating programs with Controls. Programming with Classes. DLL Calls. Programming with Functions. Document Object Model (DOM) POWERPOINT PRESENTATIONWEB VIEW Business. How company is positioned (key words, using advertising, website, ) Do you have a . minimum. job size . Pricing model. Tiered vs fixed cost. Packaged or custom solutions JOHN R. ROSSITER LARRY PERCY PLANNING GRID AND ROBERT … JOHN R. ROSSITER LARRY PERCY AND ROBERT J. DONOVAN A BETTER ADVERTISING PLANNING GRID 1, JOHN R. ROSSITER is professor of management at Ihe Australian Graduate School o( fVlanagemem. STOPPING THE IDEA THIEF Ground Rules 1. *Not Legal Advice, Provided as Free Educational Material *General advice only * Every situation is different *Your attorney is the person to guide you through your specifics BRAND AWARENESS AS A NECESSARY PRECURSOR brand of (product) on each of the following scales. Please base your rating on your most recent choice of a brand of (product)." The three scales defining involvement encompass decision importance, degree of thought required (note the possible confounding here with the "think-feel" dimension), and perceived risk of choosing the wrongbrand.
THE-AUTOMATOR.COM
Moved Permanently. The document has moved here. PORT – ROBOTIC DESKTOP AUTOMATION WITH AUTOHOTKEY GeekDude & Joe Glines: the back story how we connect to Chrome with AutoHotkey. This discussion wasn’t meant to be shared. GeekDude was giving me some background on how we’re connecting to Chrome.. It is a bit “advanced” but some really good background info (especially understanding what a socket verse WebSocket is). Below is the video and my transcript-ed notes from the discussion SERVICE AUTOMATION: ROBOTS AND THE FUTURE OF WORK Service Automation: robots and the future of work . Hashtag for Twitter users: #LSErobots Department of Management public lecture . Professor Mary Lacity JOE GLINES – PAGE 11 – ROBOTIC DESKTOP AUTOMATION WITH Being able to Automate Chrome has been a long-time goal of mine. With GeekDude’s Chrome.ahk Class you now can do this. Read more about his class on the AHK forum here.. If you didn’t see it, also check out my other tutorial on Setting values with Chrome and AutoHotkey.. Here is the function I demonstrate in the below video on Automating Chrome with AutoHotkey: Getting InnerText, OuterHTML AUTOHOTKEY MENTORSHIP Thank you for your interest in the AutoHotkey Mentorship program! I’ve been working with AutoHotkey for over 10 years and my biggest jumps in learning have been while I’m working with mentors ! I thought it would be great to give the AutoHotkey community a wayAUTOHOTKEY WEBINAR
API calls / Webservice APIs. MS Word. Automating programs with Controls. Programming with Classes. DLL Calls. Programming with Functions. Document Object Model (DOM) POWERPOINT PRESENTATIONWEB VIEW Business. How company is positioned (key words, using advertising, website, ) Do you have a . minimum. job size . Pricing model. Tiered vs fixed cost. Packaged or custom solutions JOHN R. ROSSITER LARRY PERCY PLANNING GRID AND ROBERT … JOHN R. ROSSITER LARRY PERCY AND ROBERT J. DONOVAN A BETTER ADVERTISING PLANNING GRID 1, JOHN R. ROSSITER is professor of management at Ihe Australian Graduate School o( fVlanagemem. STOPPING THE IDEA THIEF Ground Rules 1. *Not Legal Advice, Provided as Free Educational Material *General advice only * Every situation is different *Your attorney is the person to guide you through your specifics BRAND AWARENESS AS A NECESSARY PRECURSOR brand of (product) on each of the following scales. Please base your rating on your most recent choice of a brand of (product)." The three scales defining involvement encompass decision importance, degree of thought required (note the possible confounding here with the "think-feel" dimension), and perceived risk of choosing the wrongbrand.
THE-AUTOMATOR.COM
Moved Permanently. The document has moved here. ROBOTICS PROCESS AUTOMATION Automating Chrome with AutoHotkey. In the fourth session with GeekDude we look at out to automate setting text in a search field and then hitting the button to submit the search.. Automating Chrome to Set Text & Click a button SERVICE AUTOMATION: ROBOTS AND THE FUTURE OF WORK Service Automation: robots and the future of work . Hashtag for Twitter users: #LSErobots Department of Management public lecture . Professor Mary LacitySEPTEMBER 2016
While using AutoHotkey to connect to Excel is “easy”, it is also easy to be trying to use call a function to the wrong Excel object. In this video we discuss the below diagram and explain how to use AutoHotkey and Excel Object model.. Here is the function for specifying which Excel object you want to connect to PORT – ROBOTIC DESKTOP AUTOMATION WITH AUTOHOTKEY GeekDude & Joe Glines: the back story how we connect to Chrome with AutoHotkey. This discussion wasn’t meant to be shared. GeekDude was giving me some background on how we’re connecting to Chrome.. It is a bit “advanced” but some really good background info (especially understanding what a socket verse WebSocket is). Below is the video and my transcript-ed notes from the discussionTHE-AUTOMATOR
Attached you will find the screenshot taken on "(TodayDate)" Please let me know if you have any questions. Joe Glines 682.209.8014SCITE DEBUGGING
Debug with SciTE and AutoHotKey. Debugging can be very time consuming. If you’re using SciTE with AutoHotKey, there is built-in functionality that is very helpful. This video walks through some of the cool debugging features in SciTE. I also have a second debugging with SciTE video that you should check out after watching this one.. Make sure you take the time to review both videos! EXPLORER – ROBOTIC DESKTOP AUTOMATION WITH AUTOHOTKEY Use AutoHotkey to get Path from explorer and share full path with others. Working on multiple computers, in multiple environments, and with teams of peopleREVERSE LOOKUP
Detecting Carrier Type, Company and Location from Phone Number. I was talking to a company today that does “voicemail drops” (so they don’t actually call you, they just drop a message into yourvoicemail.
AUTOHOTKEY MENTORSHIP Thank you for your interest in the AutoHotkey Mentorship program! I’ve been working with AutoHotkey for over 10 years and my biggest jumps in learning have been while I’m working with mentors ! I thought it would be great to give the AutoHotkey community a way WWW.THE-AUTOMATOR.COM Moved Permanently. The document has moved here.THE-AUTOMATOR.COM
Moved Permanently. The document has moved here.AUTOHOTKEY WEBINAR
API calls / Webservice APIs. MS Word. Automating programs with Controls. Programming with Classes. DLL Calls. Programming with Functions. Document Object Model (DOM) SERVICE AUTOMATION: ROBOTS AND THE FUTURE OF WORK Service Automation: robots and the future of work . Hashtag for Twitter users: #LSErobots Department of Management public lecture . Professor Mary Lacity AUTOHOTKEY MENTORSHIP Thank you for your interest in the AutoHotkey Mentorship program! I’ve been working with AutoHotkey for over 10 years and my biggest jumps in learning have been while I’m working with mentors ! I thought it would be great to give the AutoHotkey community a wayTHE-AUTOMATOR
ࡱ > c $ bjbj 0x [\x [\ 8 8 8 8 8 4 l l l l l P p w w w $ v r 8 w w w w w 8 8 [ [ [ w 8 8 [ w [ [ [ K߰ 1 G [ 0P [ Q [ 8 [ `w w [ w w w w w [ w w w P w w w w w w w w w w w w w > : Price JOHN R. ROSSITER LARRY PERCY PLANNING GRID AND ROBERT … JOHN R. ROSSITER LARRY PERCY AND ROBERT J. DONOVAN A BETTER ADVERTISING PLANNING GRID 1, JOHN R. ROSSITER is professor of management at Ihe Australian Graduate School o( fVlanagemem. STOPPING THE IDEA THIEF Ground Rules 1. *Not Legal Advice, Provided as Free Educational Material *General advice only * Every situation is different *Your attorney is the person to guide you through your specificsSLIDE 1WEB VIEW
Terminology and Decision Making Process. Terminology. Information Matrix. How consumers compare substitutable products. It takes into account both the Importance and Performance ofTHE-AUTOMATOR.COM
Moved Permanently. The document has moved here.AUTOHOTKEY WEBINAR
API calls / Webservice APIs. MS Word. Automating programs with Controls. Programming with Classes. DLL Calls. Programming with Functions. Document Object Model (DOM) SERVICE AUTOMATION: ROBOTS AND THE FUTURE OF WORK Service Automation: robots and the future of work . Hashtag for Twitter users: #LSErobots Department of Management public lecture . Professor Mary Lacity AUTOHOTKEY MENTORSHIP Thank you for your interest in the AutoHotkey Mentorship program! I’ve been working with AutoHotkey for over 10 years and my biggest jumps in learning have been while I’m working with mentors ! I thought it would be great to give the AutoHotkey community a wayTHE-AUTOMATOR
ࡱ > c $ bjbj 0x [\x [\ 8 8 8 8 8 4 l l l l l P p w w w $ v r 8 w w w w w 8 8 [ [ [ w 8 8 [ w [ [ [ K߰ 1 G [ 0P [ Q [ 8 [ `w w [ w w w w w [ w w w P w w w w w w w w w w w w w > : Price JOHN R. ROSSITER LARRY PERCY PLANNING GRID AND ROBERT … JOHN R. ROSSITER LARRY PERCY AND ROBERT J. DONOVAN A BETTER ADVERTISING PLANNING GRID 1, JOHN R. ROSSITER is professor of management at Ihe Australian Graduate School o( fVlanagemem. STOPPING THE IDEA THIEF Ground Rules 1. *Not Legal Advice, Provided as Free Educational Material *General advice only * Every situation is different *Your attorney is the person to guide you through your specificsSLIDE 1WEB VIEW
Terminology and Decision Making Process. Terminology. Information Matrix. How consumers compare substitutable products. It takes into account both the Importance and Performance of WWW.THE-AUTOMATOR.COM Moved Permanently. The document has moved here.THE-AUTOMATOR
ࡱ > c $ bjbj 0x [\x [\ 8 8 8 8 8 4 l l l l l P p w w w $ v r 8 w w w w w 8 8 [ [ [ w 8 8 [ w [ [ [ K߰ 1 G [ 0P [ Q [ 8 [ `w w [ w w w w w [ w w w P w w w w w w w w w w w w w > : Price AUTOHOTKEY MENTORSHIP Thank you for your interest in the AutoHotkey Mentorship program! I’ve been working with AutoHotkey for over 10 years and my biggest jumps in learning have been while I’m working with mentors ! I thought it would be great to give the AutoHotkey community a waySLIDE 1WEB VIEW
Terminology and Decision Making Process. Terminology. Information Matrix. How consumers compare substitutable products. It takes into account both the Importance and Performance ofAUTOHOTKEY WEBINAR
Main Differences between Webservice / API call & WebBrowser. Webservice / API Call. No “built in” GUI Interface. One (very specific) call . Typical response is JSON or XML. Average size 30KTHE-AUTOMATOR.COM
Moved Permanently. The document has moved here.AUTOHOTKEY WEBINAR
API calls / Webservice APIs. MS Word. Automating programs with Controls. Programming with Classes. DLL Calls. Programming with Functions. Document Object Model (DOM) SERVICE AUTOMATION: ROBOTS AND THE FUTURE OF WORK Service Automation: robots and the future of work . Hashtag for Twitter users: #LSErobots Department of Management public lecture . Professor Mary LacityTHE-AUTOMATOR
Attached you will find the screenshot taken on "(TodayDate)" Please let me know if you have any questions. Joe Glines 682.209.8014 AUTOHOTKEY MENTORSHIP Thank you for your interest in the AutoHotkey Mentorship program! I’ve been working with AutoHotkey for over 10 years and my biggest jumps in learning have been while I’m working with mentors ! I thought it would be great to give the AutoHotkey community a way POWERPOINT PRESENTATIONWEB VIEW Business. How company is positioned (key words, using advertising, website, ) Do you have a . minimum. job size . Pricing model. Tiered vs fixed cost. Packaged or custom solutions JOHN R. ROSSITER LARRY PERCY PLANNING GRID AND ROBERT … JOHN R. ROSSITER LARRY PERCY AND ROBERT J. DONOVAN A BETTER ADVERTISING PLANNING GRID 1, JOHN R. ROSSITER is professor of management at Ihe Australian Graduate School o( fVlanagemem. STOPPING THE IDEA THIEF Ground Rules 1. *Not Legal Advice, Provided as Free Educational Material *General advice only * Every situation is different *Your attorney is the person to guide you through your specificsTHE-AUTOMATOR
the-Automator – Work Smarter, Not Harder! BRAND AWARENESS AS A NECESSARY PRECURSOR brand of (product) on each of the following scales. Please base your rating on your most recent choice of a brand of (product)." The three scales defining involvement encompass decision importance, degree of thought required (note the possible confounding here with the "think-feel" dimension), and perceived risk of choosing the wrongbrand.
THE-AUTOMATOR.COM
Moved Permanently. The document has moved here.AUTOHOTKEY WEBINAR
API calls / Webservice APIs. MS Word. Automating programs with Controls. Programming with Classes. DLL Calls. Programming with Functions. Document Object Model (DOM) SERVICE AUTOMATION: ROBOTS AND THE FUTURE OF WORK Service Automation: robots and the future of work . Hashtag for Twitter users: #LSErobots Department of Management public lecture . Professor Mary LacityTHE-AUTOMATOR
Attached you will find the screenshot taken on "(TodayDate)" Please let me know if you have any questions. Joe Glines 682.209.8014 AUTOHOTKEY MENTORSHIP Thank you for your interest in the AutoHotkey Mentorship program! I’ve been working with AutoHotkey for over 10 years and my biggest jumps in learning have been while I’m working with mentors ! I thought it would be great to give the AutoHotkey community a way POWERPOINT PRESENTATIONWEB VIEW Business. How company is positioned (key words, using advertising, website, ) Do you have a . minimum. job size . Pricing model. Tiered vs fixed cost. Packaged or custom solutions JOHN R. ROSSITER LARRY PERCY PLANNING GRID AND ROBERT … JOHN R. ROSSITER LARRY PERCY AND ROBERT J. DONOVAN A BETTER ADVERTISING PLANNING GRID 1, JOHN R. ROSSITER is professor of management at Ihe Australian Graduate School o( fVlanagemem. STOPPING THE IDEA THIEF Ground Rules 1. *Not Legal Advice, Provided as Free Educational Material *General advice only * Every situation is different *Your attorney is the person to guide you through your specificsTHE-AUTOMATOR
the-Automator – Work Smarter, Not Harder! BRAND AWARENESS AS A NECESSARY PRECURSOR brand of (product) on each of the following scales. Please base your rating on your most recent choice of a brand of (product)." The three scales defining involvement encompass decision importance, degree of thought required (note the possible confounding here with the "think-feel" dimension), and perceived risk of choosing the wrongbrand.
SERVICE AUTOMATION: ROBOTS AND THE FUTURE OF WORK Service Automation: robots and the future of work . Hashtag for Twitter users: #LSErobots Department of Management public lecture . Professor Mary Lacity PORT – ROBOTIC DESKTOP AUTOMATION WITH AUTOHOTKEY GeekDude & Joe Glines: the back story how we connect to Chrome with AutoHotkey. This discussion wasn’t meant to be shared. GeekDude was giving me some background on how we’re connecting to Chrome.. It is a bit “advanced” but some really good background info (especially understanding what a socket verse WebSocket is). Below is the video and my transcript-ed notes from the discussionSCITE DEBUGGING
Debug with SciTE and AutoHotKey. Debugging can be very time consuming. If you’re using SciTE with AutoHotKey, there is built-in functionality that is very helpful. This video walks through some of the cool debugging features in SciTE. I also have a second debugging with SciTE video that you should check out after watching this one.. Make sure you take the time to review both videos!THE-AUTOMATOR
Attached you will find the screenshot taken on "(TodayDate)" Please let me know if you have any questions. Joe Glines 682.209.8014 JOE GLINES – PAGE 11 – ROBOTIC DESKTOP AUTOMATION WITH Being able to Automate Chrome has been a long-time goal of mine. With GeekDude’s Chrome.ahk Class you now can do this. Read more about his class on the AHK forum here.. If you didn’t see it, also check out my other tutorial on Setting values with Chrome and AutoHotkey.. Here is the function I demonstrate in the below video on Automating Chrome with AutoHotkey: Getting InnerText, OuterHTMLSTART BUTTON
Code to Replace Windows Start Menu button with a Clock. #Persistent #NoTrayIcon #SingleInstance, Force /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * Description : A "Button Clock" in lieu of "Windows Start Button" This script hides the "Start Button" and adds a new Button and keeps updating the "Button Caption" with a Time String - periodically - effectively making it a clock.REVERSE LOOKUP
Detecting Carrier Type, Company and Location from Phone Number. I was talking to a company today that does “voicemail drops” (so they don’t actually call you, they just drop a message into yourvoicemail.
AUTOHOTKEY MENTORSHIP Thank you for your interest in the AutoHotkey Mentorship program! I’ve been working with AutoHotkey for over 10 years and my biggest jumps in learning have been while I’m working with mentors ! I thought it would be great to give the AutoHotkey community a wayDISABLING GRAMMAR
Disabling Spelling and Grammar check in MS Word with AutoHotkey #SingleInstance,Force doc:=ComObjActive("Word.Application") ;this would activate an open one doc WWW.THE-AUTOMATOR.COM Moved Permanently. The document has moved here.THE-AUTOMATOR.COM
Moved Permanently. The document has moved here. SERVICE AUTOMATION: ROBOTS AND THE FUTURE OF WORK Service Automation: robots and the future of work . Hashtag for Twitter users: #LSErobots Department of Management public lecture . Professor Mary Lacity JOHN R. ROSSITER LARRY PERCY PLANNING GRID AND ROBERT … JOHN R. ROSSITER LARRY PERCY AND ROBERT J. DONOVAN A BETTER ADVERTISING PLANNING GRID 1, JOHN R. ROSSITER is professor of management at Ihe Australian Graduate School o( fVlanagemem.THE-AUTOMATOR
the-Automator – Work Smarter, Not Harder! STOPPING THE IDEA THIEF Ground Rules 1. *Not Legal Advice, Provided as Free Educational Material *General advice only * Every situation is different *Your attorney is the person to guide you through your specifics DOM SELENIUM ROSETTA STONE AND COOKBOOK Category Recipe XPath (1.0 – 2.0) CSS (CSS1 – 3) DOM Selenium General Whole web page xpath=/html css=html document.documentElement NA Whole web page body xpathDISABLING GRAMMAR
Disabling Spelling and Grammar check in MS Word with AutoHotkey #SingleInstance,Force doc:=ComObjActive("Word.Application") ;this would activate an open one docTHE-AUTOMATOR.COM
Created Date: 3/16/2017 12:35:10 PM JOE GLINES – PAGE 11 – ROBOTIC DESKTOP AUTOMATION WITH Being able to Automate Chrome has been a long-time goal of mine. With GeekDude’s Chrome.ahk Class you now can do this. Read more about his class on the AHK forum here.. If you didn’t see it, also check out my other tutorial on Setting values with Chrome and AutoHotkey.. Here is the function I demonstrate in the below video on Automating Chrome with AutoHotkey: Getting InnerText, OuterHTMLTHE-AUTOMATOR.COM
Moved Permanently. The document has moved here. SERVICE AUTOMATION: ROBOTS AND THE FUTURE OF WORK Service Automation: robots and the future of work . Hashtag for Twitter users: #LSErobots Department of Management public lecture . Professor Mary Lacity JOHN R. ROSSITER LARRY PERCY PLANNING GRID AND ROBERT … JOHN R. ROSSITER LARRY PERCY AND ROBERT J. DONOVAN A BETTER ADVERTISING PLANNING GRID 1, JOHN R. ROSSITER is professor of management at Ihe Australian Graduate School o( fVlanagemem.THE-AUTOMATOR
the-Automator – Work Smarter, Not Harder! STOPPING THE IDEA THIEF Ground Rules 1. *Not Legal Advice, Provided as Free Educational Material *General advice only * Every situation is different *Your attorney is the person to guide you through your specifics DOM SELENIUM ROSETTA STONE AND COOKBOOK Category Recipe XPath (1.0 – 2.0) CSS (CSS1 – 3) DOM Selenium General Whole web page xpath=/html css=html document.documentElement NA Whole web page body xpathDISABLING GRAMMAR
Disabling Spelling and Grammar check in MS Word with AutoHotkey #SingleInstance,Force doc:=ComObjActive("Word.Application") ;this would activate an open one docTHE-AUTOMATOR.COM
Created Date: 3/16/2017 12:35:10 PM JOE GLINES – PAGE 11 – ROBOTIC DESKTOP AUTOMATION WITH Being able to Automate Chrome has been a long-time goal of mine. With GeekDude’s Chrome.ahk Class you now can do this. Read more about his class on the AHK forum here.. If you didn’t see it, also check out my other tutorial on Setting values with Chrome and AutoHotkey.. Here is the function I demonstrate in the below video on Automating Chrome with AutoHotkey: Getting InnerText, OuterHTML THE AUTOMATORS' PODCAST #101: Why people won't pay for Automation CodeMay 12, 2021 #100: Why aren't Macros popular anymore? May 11, 2021 #99: 5 steps a process often goes through before being automatedMay 04, 2021 #98: From Ground zero to Complete success- 6 simple steps to automating your processApril 27, 2021 #97: 7 tips to get help with your codeApril 13, 2021 #96: 7 tips to Move you off theTHE AUTOMATOR
; http://the-automator.com/download/dmp.ahk ; dmp Version 1.25 ; By ObiWanKenobi ; Visit guresicpark.de for dmp updates ; May 8, 2015 ;~ http://guresicpark.deTHE-AUTOMATOR
Attached you will find the screenshot taken on "(TodayDate)" Please let me know if you have any questions. Joe Glines 682.209.8014THE-AUTOMATOR
# User initialization file for SciTE4AutoHotkey #~ http://www.scintilla.org/SciTEDoc.html ;command documentation #~ http://www.scintilla.org/ScintillaDoc.html #~ httpAUTOHOTKEY WEBINAR
API calls / Webservice APIs. MS Word. Automating programs with Controls. Programming with Classes. DLL Calls. Programming with Functions. Document Object Model (DOM) #97: 7 TIPS TO GET HELP WITH YOUR CODE In today's podcast Jackie Sztuk and I discuss 7 tips how to increase the likelihood to get people to help you with your codeTHE-AUTOMATOR
#NoEnv #SingleInstance, force SetWorkingDir %A_ScriptDir% logfile = Control_Log.txt ~LButton:: ~RButton:: ~MButton:: WinGetTitle, Title, A CoordMode Mouse MouseGetPos WWW.THE-AUTOMATOR.COM;~
https://autohotkey.com/board/topic/77888-accessible-info-viewer-alpha-release-2012-09-20/ #SingleInstance, force { WM_ACTIVATE := 0x06 WM_KILLFOCUS := 0x08 WMTHE-AUTOMATOR
ࡱ > c $ bjbj 0x [\x [\ 8 8 8 8 8 4 l l l l l P p w w w $ v r 8 w w w w w 8 8 [ [ [ w 8 8 [ w [ [ [ K߰ 1 G [ 0P [ Q [ 8 [ `w w [ w w w w w [ w w w P w w w w w w w w w w w w w > : PriceTHE-AUTOMATOR
Title: SPSS Syntax writer Author: Joe Glines joe@working-smarter-not-harder.com Description: www.Working-Smarter-Not-Harder.com Last modified by AUTOMATING MY WORLD; 1 SCRIPT @ A TIME! Joe Glines- Data Cowboy & Autohotkey Automation Guru*
Skip to content
* Home
* AHK Webinars
* AHK Podcasts
* API
* AutoHotkey
* AutoHotkey Functions * Automating Programs with Controls in AutoHotkey * Regular Expressions in AutoHotkey* IE & AutoHotkey
* Outlook & AutoHotkey* Web Scraping
* Excel
* AHK Studio
* SciTE
* SPSS
* Contact
* Joe Glines BIO
* Automation Resources* Books
* Alerts
* Search for: Search__ INTRO TO AUTOHOTKEY UDEMY COURSE I finished my “Intro to AutoHotkey”
/ Desktop Automation Udemy course! This course is designed for people that are completely new to AutoHotkey! I walk through the what AutoHotkey is (in the realm of Desktop Automation / Robotics Process Automation ), How to install it and a default editor (in my case it was AHK Studio ) and then cover various basics like:INTRO TO AUTOHOTKEY
* Hotstrings (This is a high level because we already have a Udemy course specifically on HotStrings)
* Hotkeys
* Directives, Commands, Functions* If Logic
* Setting Values of Variables * Evaluating Conditions* Using Includes
* Frequently used Built-in Variables* Manipulating Text
* Activating Windows* And more!
Over 4 hours of videos! For the month of September, I’m selling itfor $9.99
if you use this link or use the coupon code: THE-AUTOMATOR.COM__
TUTORIAL ON ENCODING BINARY DATA TO A STRING WITH MAESTRITH In the second half of our webinar on Finding and Clicking Text /Pixels / Images
someone asked about encoding a binary image to Base64, then being able to decode it back for usage (this will allow them not to have to share the actual image files.) I’ve never done any of this so I was lost but thankfully Jackie and Maestrith had experience in it. The other night I mentioned it to Maestrith and he generously offered to work through a couple of examples and explain the process to me. Please keep in mind, this wasn’t a planned tutorial. He did it on the fly and we just worked through things. For me it was veryilluminating!
ENCODING BINARY DATA TO A STRING TUTORIAL ENCODING BINARY DATA TO A STRING SOURCE CODE: Bits:="100011010010010101011001010"Bits:="Hq"
/*
0123456789+/ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz5
100
0=0
1=1
2=10
3=11
4=100
5=110
6=111
7=1000
*/
Gui,Add,Edit,gGo w500 Number Gui,Add,UpDown,Range1-5000 +0x80,1Gui,Add,Text,w500
Gui,Show
return
GuiEscape:
ExitApp
return
Go(){
ControlGetText,i,Edit1,A ControlSetText,Static1,% ((i>>8&1)(i>>7&1)(i>>6&1)(i>>5&1)(i>>4&1)(i>>3&1)(i>>2&1)(i>>1&1)(i&1)),A}
* Bits:="100011010010010101011001010"* Bits:="Hq"
* /*
* 0123456789+/ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz*
* 5
* 100
* 0=0
* 1=1
* 2=10
* 3=11
* 4=100
* 5=110
* 6=111
* 7=1000
* */
* Gui,Add,Edit,gGo w500 Number * Gui,Add,UpDown,Range1-5000 +0x80,1* Gui,Add,Text,w500
* Gui,Show
* return
* GuiEscape:
* ExitApp
* return
* Go(){
* ControlGetText,i,Edit1,A * ControlSetText,Static1,% ((i>>8&1)(i>>7&1)(i>>6&1)(i>>5&1)(i>>4&1)(i>>3&1)(i>>2&1)(i>>1&1)(i&1)),A* }
Bits:="100011010010010101011001010"Bits:="Hq"
/*
0123456789+/ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz5
100
0=0
1=1
2=10
3=11
4=100
5=110
6=111
7=1000
*/
Gui,Add,Edit,gGo w500 Number Gui,Add,UpDown,Range1-5000 +0x80,1Gui,Add,Text,w500
Gui,Show
return
GuiEscape:
ExitApp
return
Go(){
ControlGetText,i,Edit1,A ControlSetText,Static1,% ((i>>8&1)(i>>7&1)(i>>6&1)(i>>5&1)(i>>4&1)(i>>3&1)(i>>2&1)(i>>1&1)(i&1)),A}
__
AUTOHOTKEY WEBINAR- FINDING AND CLICKING TEXT / PIXELS / IMAGES AUTOHOTKEY WEBINAR RESOURCES: Video HOUR 1 : High-level overview Video HOUR 2 : Q&A and deep-dive into question about Encoding & Decoding images in Base64 (to prevent having to share image files)ANNOUNCEMENTS:
http://the-automator.com/ahk-podcasts/* 030-MP3
VIDEO
GENDER AND PROGRAMMING* 031-MP3 VIDEO
SHOULD YOU LET YOUR COLLEAGUES/BOSS KNOW YOU’RE USING AUTOHOTKEY?* 032-MP3
VIDEO
SECURITY AND PLAIN TEXT FILES UDEMY Course: INTRO TO AUTOHOTKEY: https://www.udemy.com/course/intro-to-autohotkey/?couponCode=AHK-WEBINAR UDEMY Course: Text Expansion on a PC with AutoHotkey (HOTSTRINGS) : https://www.udemy.com/course/hotstrings-autocorrect-text-expansion-with-autohotkey/?couponCode=AHK-WEBINARSCRIPT HIGHLIGHT:
Updated version of iWB2 Learner tool which breaks-out Classname iWB2_Classname.ahk https://the-automator.com/iwb2_Classname.ahk * Added ClassName as a separate Edit field * Added Coloring of text on Frames (because they’re EVIL) * Fixed some GUI ugliness GENERAL APPROACH TO AUTOMATION FROM OUR WEBINAR 3/21/17 ON CONNECTING TO PROGRAMS * COM / Component Object Model * UI Automation Interface * Microsoft Active Accessibility (MSAA) / Acc viewer * Controls, Send/Post Message, MenuItems, DLL calls * Clipboard Manipulation * Sending Keystrokes & MouseClicksIMAGESEARCH
PROS: Built into AutoHotkeyCONS:
* Needs to have local image file* Can be quirky
* No fuzzy matching
* No Built-in ways to Click / Send Text #SingleInstance,Force ;~ CoordMode Pixel ; Interprets the coordinates below as relative to the screen rather than the active window. ;~ Supported Image filetypes are GIF, JPG, ICO, CUR, ANI and BMP images that are 16bit+ ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, B:\Progs\AutoHotkey_L\Icons\Alpha\B.ico if (ErrorLevel = 2) MsgBox % "Could not conduct the search.`n`nThe SOURCE image does not exist" else if (ErrorLevel = 1) MsgBox % "The Image could not be found on the screen"else {
MsgBox % "The icon was found at: X:=" FoundX " Y:=" FoundY FoundX:=FoundX+15, FoundY:=FoundY+15 ;padding because it returns upper-left pixel location of image click %FoundX% , %FoundY% ;Click the location that was found}
* #SingleInstance,Force * ;~ CoordMode Pixel ; Interprets the coordinates below as relative to the screen rather than the active window. * ;~ Supported Image filetypes are GIF, JPG, ICO, CUR, ANI and BMP images that are 16bit+ * ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, B:\Progs\AutoHotkey_L\Icons\Alpha\B.ico * if (ErrorLevel = 2) * MsgBox % "Could not conduct the search.`n`nThe SOURCE image doesnot exist"
* else if (ErrorLevel = 1) * MsgBox % "The Image could not be found on the screen"* else {
* MsgBox % "The icon was found at: X:=" FoundX " Y:=" FoundY * FoundX:=FoundX+15, FoundY:=FoundY+15 ;padding because it returns upper-left pixel location of image * click %FoundX% , %FoundY% ;Click the location that was found* }
#SingleInstance,Force ;~ CoordMode Pixel ; Interprets the coordinates below as relative to the screen rather than the active window. ;~ Supported Image filetypes are GIF, JPG, ICO, CUR, ANI and BMP images that are 16bit+ ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, B:\Progs\AutoHotkey_L\Icons\Alpha\B.ico if (ErrorLevel = 2) MsgBox % "Could not conduct the search.`n`nThe SOURCE image does not exist" else if (ErrorLevel = 1) MsgBox % "The Image could not be found on the screen"else {
MsgBox % "The icon was found at: X:=" FoundX " Y:=" FoundY FoundX:=FoundX+15, FoundY:=FoundY+15 ;padding because it returns upper-left pixel location of image click %FoundX% , %FoundY% ;Click the location that was found}
FINDTEXT
BY
FEIYUE
PROS:
* No local file needed * Finds multiple instances of pixels * Easy to create a simple search* Reliable & Fast
* Maybe Fuzzy matching?CONS:
* Multiple GUIs
* Complex
* Not clear on features / training * No built-in ways to Click / Send Text * Not obvious how to find on multi-screens * Requires programming knowledge FINDNCLICK BY MAESTRITH & JOE GLINESPROS:
* No local Image needed * Fast to create a new script * Runs fast & is Reliable * Work off Index of found item * Built-in Click / Send text * Can Nest multiple Steps* Noob Friendly
* Works on All screens* Wait for Window
CONS:
* No fuzzy matching
* A little complex to start ENCODING AND DECODING AN IMAGE INTO BASE64BY SKAN
In the second part of the webinar, Dimitri asked about being able to encode an image from a file into a string, then being able to view the image from the encoding. After about a bunch of work we finally found a working solution from SKAN. #SingleInstance,Force Path:="C:\Users\Joe\Dropbox\Camera Uploads\5th bday\2011-11-28 12.13.24.jpg" pBitmap := Gdip_CreateBitmapFromFile(Path) Gdip_SaveBitmapToFile(pBitmap, "C:\AHK Studio\Projects\image2.jpg") DllCall(NumGet(NumGet(pStream + 0, 0, "uptr") + (A_PtrSize * 2), 0, "uptr"), "ptr",pStream) DllCall("GlobalFree", "ptr",hData) ObjRelease(pStream) Gdip_DisposeImage(pBitmap) return Encode(Text){ cp:=0 VarSetCapacity(rawdata,StrPut(text,"UTF-8")) sz:=StrPut(text,&rawdata,"UTF-8")-1 DllCall("Crypt32.dll\CryptBinaryToString","ptr",&rawdata,"uint",sz,"uint",0x40000001,"ptr",0,"uint*",cp) VarSetCapacity(str,cp*(A_IsUnicode?2:1)) DllCall("Crypt32.dll\CryptBinaryToString","ptr",&rawdata,"uint",sz,"uint",0x40000001,"str",str,"uint*",cp) return str } b64Encode( ByRef buf, bufLen:="" ) { bufLen := (bufLen) ? bufLen : StrLen(buf) << !!A_IsUnicode DllCall( "crypt32\CryptBinaryToStringA", "ptr", &buf, "UInt", bufLen, "Uint", 1 | 0x40000000, "Ptr", 0, "UInt*", outLen ) VarSetCapacity( outBuf, outLen, 0 ) DllCall( "crypt32\CryptBinaryToStringA", "ptr", &buf, "UInt", bufLen, "Uint", 1 | 0x40000000, "Ptr", &outBuf, "UInt*", outLen ) return strget( &outBuf, outLen, "CP0" ) } b64Decode( b64str, ByRef outBuf ) { static CryptStringToBinary := "crypt32\CryptStringToBinary" (A_IsUnicode ? "W" : "A") DllCall( CryptStringToBinary, "ptr", &b64str, "UInt", 0, "Uint", 1, "Ptr", 0, "UInt*", outLen, "ptr", 0, "ptr", 0 ) VarSetCapacity( outBuf, outLen, 0 ) DllCall( CryptStringToBinary, "ptr", &b64str, "UInt", 0, "Uint", 1, "Ptr", &outBuf, "UInt*", outLen, "ptr", 0, "ptr", 0 ) return outLen } Gdip_EncodeBitmapTo64string(pBitmap, ext, Quality=75) { if Ext not in BMP,DIB,RLE,JPG,JPEG,JPE,JFIF,GIF,TIF,TIFF,PNG return -1 Extension := "." Ext DllCall("gdiplus\GdipGetImageEncodersSize", "uint*", nCount, "uint*", nSize) VarSetCapacity(ci, nSize) DllCall("gdiplus\GdipGetImageEncoders", "uint", nCount, "uint", nSize, Ptr, &ci) if !(nCount && nSize) return -2 Loop, %nCount% { sString := StrGet(NumGet(ci, (idx := (48+7*A_PtrSize)*(A_Index-1))+32+3*A_PtrSize), "UTF-16") if !InStr(sString, "*" Extension) continue pCodec := &ci+idx break } if !pCodec return -3 if (Quality != 75) { Quality := (Quality < 0) ? 0 : (Quality > 100) ? 100 : Quality if Extension in .JPG,.JPEG,.JPE,.JFIF { DllCall("gdiplus\GdipGetEncoderParameterListSize", Ptr, pBitmap, Ptr, pCodec, "uint*", nSize) VarSetCapacity(EncoderParameters, nSize, 0) DllCall("gdiplus\GdipGetEncoderParameterList", Ptr, pBitmap, Ptr, pCodec, "uint", nSize, Ptr, &EncoderParameters) Loop, % NumGet(EncoderParameters, "UInt") { elem := (24+(A_PtrSize ? A_PtrSize : 4))*(A_Index-1) + 4 + (pad := A_PtrSize = 8 ? 4 : 0) if (NumGet(EncoderParameters, elem+16, "UInt") = 1) && (NumGet(EncoderParameters, elem+20, "UInt") = 6) { p := elem+&EncoderParameters-pad-4 NumPut(Quality, NumGet(NumPut(4, NumPut(1, p+0)+20, "UInt")), "UInt") break } } } } DllCall("ole32\CreateStreamOnHGlobal", "ptr",0, "int",true, "ptr*",pStream) DllCall("gdiplus\GdipSaveImageToStream", "ptr",pBitmap, "ptr",pStream, "ptr",pCodec, "uint",p ? p : 0) DllCall("ole32\GetHGlobalFromStream", "ptr",pStream, "uint*",hData) pData := DllCall("GlobalLock", "ptr",hData, "uptr") nSize := DllCall("GlobalSize", "uint",pData) VarSetCapacity(Bin, nSize, 0) DllCall("RtlMoveMemory", "ptr",&Bin , "ptr",pData , "uint",nSize) DllCall("GlobalUnlock", "ptr",hData) DllCall(NumGet(NumGet(pStream + 0, 0, "uptr") + (A_PtrSize * 2), 0, "uptr"), "ptr",pStream) DllCall("GlobalFree", "ptr",hData) DllCall("Crypt32.dll\CryptBinaryToString", "ptr",&Bin, "uint",nSize, "uint",0x01, "ptr",0, "uint*",base64Length) VarSetCapacity(base64, base64Length*2, 0) DllCall("Crypt32.dll\CryptBinaryToString", "ptr",&Bin, "uint",nSize, "uint",0x01, "ptr",&base64, "uint*",base64Length) Bin := "" VarSetCapacity(Bin, 0) VarSetCapacity(base64, -1) return base64 } * #SingleInstance,Force Path:="C:\Users\Joe\Dropbox\Camera Uploads\5th bday\2011-11-28 12.13.24.jpg" pBitmap := Gdip_CreateBitmapFromFile(Path) Gdip_SaveBitmapToFile(pBitmap, "C:\AHK Studio\Projects\image2.jpg") DllCall(NumGet(NumGet(pStream + 0, 0, "uptr") + (A_PtrSize * 2), 0, "uptr"), "ptr",pStream) DllCall("GlobalFree", "ptr",hData) ObjRelease(pStream) Gdip_DisposeImage(pBitmap) return Encode(Text){ cp:=0 VarSetCapacity(rawdata,StrPut(text,"UTF-8")) sz:=StrPut(text,&rawdata,"UTF-8")-1 DllCall("Crypt32.dll\CryptBinaryToString","ptr",&rawdata,"uint",sz,"uint",0x40000001,"ptr",0,"uint*",cp) VarSetCapacity(str,cp*(A_IsUnicode?2:1)) DllCall("Crypt32.dll\CryptBinaryToString","ptr",&rawdata,"uint",sz,"uint",0x40000001,"str",str,"uint*",cp) return str } b64Encode( ByRef buf, bufLen:="" ) { bufLen := (bufLen) ? bufLen : StrLen(buf) << !!A_IsUnicode DllCall( "crypt32\CryptBinaryToStringA", "ptr", &buf, "UInt", bufLen, "Uint", 1 | 0x40000000, "Ptr", 0, "UInt*", outLen ) VarSetCapacity( outBuf, outLen, 0 ) DllCall( "crypt32\CryptBinaryToStringA", "ptr", &buf, "UInt", bufLen, "Uint", 1 | 0x40000000, "Ptr", &outBuf, "UInt*", outLen ) return strget( &outBuf, outLen, "CP0" ) } b64Decode( b64str, ByRef outBuf ) { static CryptStringToBinary := "crypt32\CryptStringToBinary" (A_IsUnicode ? "W" : "A") DllCall( CryptStringToBinary, "ptr", &b64str, "UInt", 0, "Uint", 1, "Ptr", 0, "UInt*", outLen, "ptr", 0, "ptr", 0 ) VarSetCapacity( outBuf, outLen, 0 ) DllCall( CryptStringToBinary, "ptr", &b64str, "UInt", 0, "Uint", 1, "Ptr", &outBuf, "UInt*", outLen, "ptr", 0, "ptr", 0 ) return outLen } Gdip_EncodeBitmapTo64string(pBitmap, ext, Quality=75) { if Ext not in BMP,DIB,RLE,JPG,JPEG,JPE,JFIF,GIF,TIF,TIFF,PNG return -1 Extension := "." Ext DllCall("gdiplus\GdipGetImageEncodersSize", "uint*", nCount, "uint*", nSize) VarSetCapacity(ci, nSize) DllCall("gdiplus\GdipGetImageEncoders", "uint", nCount, "uint", nSize, Ptr, &ci) if !(nCount && nSize) return -2 Loop, %nCount% { sString := StrGet(NumGet(ci, (idx := (48+7*A_PtrSize)*(A_Index-1))+32+3*A_PtrSize), "UTF-16") if !InStr(sString, "*" Extension) continue pCodec := &ci+idx break } if !pCodec return -3 if (Quality != 75) { Quality := (Quality < 0) ? 0 : (Quality > 100) ? 100 : Quality if Extension in .JPG,.JPEG,.JPE,.JFIF { DllCall("gdiplus\GdipGetEncoderParameterListSize", Ptr, pBitmap, Ptr, pCodec, "uint*", nSize) VarSetCapacity(EncoderParameters, nSize, 0) DllCall("gdiplus\GdipGetEncoderParameterList", Ptr, pBitmap, Ptr, pCodec, "uint", nSize, Ptr, &EncoderParameters) Loop, % NumGet(EncoderParameters, "UInt") { elem := (24+(A_PtrSize ? A_PtrSize : 4))*(A_Index-1) + 4 + (pad := A_PtrSize = 8 ? 4 : 0) if (NumGet(EncoderParameters, elem+16, "UInt") = 1) && (NumGet(EncoderParameters, elem+20, "UInt") = 6) { p := elem+&EncoderParameters-pad-4 NumPut(Quality, NumGet(NumPut(4, NumPut(1, p+0)+20, "UInt")), "UInt") break } } } } DllCall("ole32\CreateStreamOnHGlobal", "ptr",0, "int",true, "ptr*",pStream) DllCall("gdiplus\GdipSaveImageToStream", "ptr",pBitmap, "ptr",pStream, "ptr",pCodec, "uint",p ? p : 0) DllCall("ole32\GetHGlobalFromStream", "ptr",pStream, "uint*",hData) pData := DllCall("GlobalLock", "ptr",hData, "uptr") nSize := DllCall("GlobalSize", "uint",pData) VarSetCapacity(Bin, nSize, 0) DllCall("RtlMoveMemory", "ptr",&Bin , "ptr",pData , "uint",nSize) DllCall("GlobalUnlock", "ptr",hData) DllCall(NumGet(NumGet(pStream + 0, 0, "uptr") + (A_PtrSize * 2), 0, "uptr"), "ptr",pStream) DllCall("GlobalFree", "ptr",hData) DllCall("Crypt32.dll\CryptBinaryToString", "ptr",&Bin, "uint",nSize, "uint",0x01, "ptr",0, "uint*",base64Length) VarSetCapacity(base64, base64Length*2, 0) DllCall("Crypt32.dll\CryptBinaryToString", "ptr",&Bin, "uint",nSize, "uint",0x01, "ptr",&base64, "uint*",base64Length) Bin := "" VarSetCapacity(Bin, 0) VarSetCapacity(base64, -1) return base64 } #SingleInstance,Force Path:="C:\Users\Joe\Dropbox\Camera Uploads\5th bday\2011-11-28 12.13.24.jpg" pBitmap := Gdip_CreateBitmapFromFile(Path) Gdip_SaveBitmapToFile(pBitmap, "C:\AHK Studio\Projects\image2.jpg") DllCall(NumGet(NumGet(pStream + 0, 0, "uptr") + (A_PtrSize * 2), 0, "uptr"), "ptr",pStream) DllCall("GlobalFree", "ptr",hData) ObjRelease(pStream) Gdip_DisposeImage(pBitmap) return Encode(Text){ cp:=0 VarSetCapacity(rawdata,StrPut(text,"UTF-8")) sz:=StrPut(text,&rawdata,"UTF-8")-1 DllCall("Crypt32.dll\CryptBinaryToString","ptr",&rawdata,"uint",sz,"uint",0x40000001,"ptr",0,"uint*",cp) VarSetCapacity(str,cp*(A_IsUnicode?2:1)) DllCall("Crypt32.dll\CryptBinaryToString","ptr",&rawdata,"uint",sz,"uint",0x40000001,"str",str,"uint*",cp) return str } b64Encode( ByRef buf, bufLen:="" ) { bufLen := (bufLen) ? bufLen : StrLen(buf) << !!A_IsUnicode DllCall( "crypt32\CryptBinaryToStringA", "ptr", &buf, "UInt", bufLen, "Uint", 1 | 0x40000000, "Ptr", 0, "UInt*", outLen ) VarSetCapacity( outBuf, outLen, 0 ) DllCall( "crypt32\CryptBinaryToStringA", "ptr", &buf, "UInt", bufLen, "Uint", 1 | 0x40000000, "Ptr", &outBuf, "UInt*", outLen ) return strget( &outBuf, outLen, "CP0" ) } b64Decode( b64str, ByRef outBuf ) { static CryptStringToBinary := "crypt32\CryptStringToBinary" (A_IsUnicode ? "W" : "A") DllCall( CryptStringToBinary, "ptr", &b64str, "UInt", 0, "Uint", 1, "Ptr", 0, "UInt*", outLen, "ptr", 0, "ptr", 0 ) VarSetCapacity( outBuf, outLen, 0 ) DllCall( CryptStringToBinary, "ptr", &b64str, "UInt", 0, "Uint", 1, "Ptr", &outBuf, "UInt*", outLen, "ptr", 0, "ptr", 0 ) return outLen } Gdip_EncodeBitmapTo64string(pBitmap, ext, Quality=75) { if Ext not in BMP,DIB,RLE,JPG,JPEG,JPE,JFIF,GIF,TIF,TIFF,PNG return -1 Extension := "." Ext DllCall("gdiplus\GdipGetImageEncodersSize", "uint*", nCount, "uint*", nSize) VarSetCapacity(ci, nSize) DllCall("gdiplus\GdipGetImageEncoders", "uint", nCount, "uint", nSize, Ptr, &ci) if !(nCount && nSize) return -2 Loop, %nCount% { sString := StrGet(NumGet(ci, (idx := (48+7*A_PtrSize)*(A_Index-1))+32+3*A_PtrSize), "UTF-16") if !InStr(sString, "*" Extension) continue pCodec := &ci+idx break } if !pCodec return -3 if (Quality != 75) { Quality := (Quality < 0) ? 0 : (Quality > 100) ? 100 : Quality if Extension in .JPG,.JPEG,.JPE,.JFIF { DllCall("gdiplus\GdipGetEncoderParameterListSize", Ptr, pBitmap, Ptr, pCodec, "uint*", nSize) VarSetCapacity(EncoderParameters, nSize, 0) DllCall("gdiplus\GdipGetEncoderParameterList", Ptr, pBitmap, Ptr, pCodec, "uint", nSize, Ptr, &EncoderParameters) Loop, % NumGet(EncoderParameters, "UInt") { elem := (24+(A_PtrSize ? A_PtrSize : 4))*(A_Index-1) + 4 + (pad := A_PtrSize = 8 ? 4 : 0) if (NumGet(EncoderParameters, elem+16, "UInt") = 1) && (NumGet(EncoderParameters, elem+20, "UInt") = 6) { p := elem+&EncoderParameters-pad-4 NumPut(Quality, NumGet(NumPut(4, NumPut(1, p+0)+20, "UInt")), "UInt") break } } } } DllCall("ole32\CreateStreamOnHGlobal", "ptr",0, "int",true, "ptr*",pStream) DllCall("gdiplus\GdipSaveImageToStream", "ptr",pBitmap, "ptr",pStream, "ptr",pCodec, "uint",p ? p : 0) DllCall("ole32\GetHGlobalFromStream", "ptr",pStream, "uint*",hData) pData := DllCall("GlobalLock", "ptr",hData, "uptr") nSize := DllCall("GlobalSize", "uint",pData) VarSetCapacity(Bin, nSize, 0) DllCall("RtlMoveMemory", "ptr",&Bin , "ptr",pData , "uint",nSize) DllCall("GlobalUnlock", "ptr",hData) DllCall(NumGet(NumGet(pStream + 0, 0, "uptr") + (A_PtrSize * 2), 0, "uptr"), "ptr",pStream) DllCall("GlobalFree", "ptr",hData) DllCall("Crypt32.dll\CryptBinaryToString", "ptr",&Bin, "uint",nSize, "uint",0x01, "ptr",0, "uint*",base64Length) VarSetCapacity(base64, base64Length*2, 0) DllCall("Crypt32.dll\CryptBinaryToString", "ptr",&Bin, "uint",nSize, "uint",0x01, "ptr",&base64, "uint*",base64Length) Bin := "" VarSetCapacity(Bin, 0) VarSetCapacity(base64, -1) return base64 }__
EMAIL SENDER USING CDO AND GMAIL WITH AUTOHOTKEY Sending emails through Gmail (and other vendors) is easy with AutoHotkey! Check out the video and source script below. EMAIL SENDER USING CDO AND GMAIL WITH AUTOHOTKEY HERE’S THE SOURCE CODE FOR THE EMAIL SENDER USING CDO #SingleInstance,Force ;run only once SetBatchLines,-1 IniRead, CDO_Password ,Auth.ini,CDO, Gmail_Password ;~ https://autohotkey.com/board/topic/36522-cdo-com-email-delivery/ Important:={smtpserver: "smtp.gmail.com" ;"host157.hostmonster.com" ; specify your SMTP server ,smtpserverport: 465 ;587 465 ;110 ; 25 ,smtpusessl: True ;For hostmonster it must be true ,sendusing: 2 ; cdoSendUsingPort ,smtpauthenticate: 1 ; cdoBasic ,sendusername: "joe.glines@gmail.com" ;"Joe@the-Automator.com" ;Login UserName for the SMTP Server ,sendpassword: CDO_Password ;You have to create a special "App password" in gmail and use it here. https://the-automator.com/gmail_App_Password ,smtpconnectiontimeout: 60} ;Login Password ;*************Per message****************************************** HTML=This is in html. Check out the-Automator for some cool tips! pmsg:=ComObjCreate("CDO.Message") pmsg.From:="joe.glines@gmail.com" pmsg.To:="Joe@the-Automator.com;joe.glines@gmail.com" pmsg.BCC:= pmsg.CC:= pmsg.Subject:="Send via CDO and AutoHotkey" ;~ pmsg.HtmlBody:=HTML ;This would be your content in an HTML format. pmsg.TextBody := "This is the body of a plain text message" ;if you want to send plain text Fields:={smtpserver:Important.smtpserver,smtpserverport:Important.smtpserverport,smtpusessl:Important.smtpusessl,sendusing:Important.sendusing,smtpauthenticate:Important.smtpauthenticate,sendusername:Important.sendusername,sendpassword:Important.sendpassword,smtpconnectiontimeout:Important.smtpconnectiontimeout} pfld:=pmsg.Configuration.Fields For Field,Value in fields pfld.Item("http://schemas.microsoft.com/cdo/configuration/" Field):=Value pfld.Update() ;********************File Attachements*********************************** sAttach := "C:\AHK Studio\Projects\Companies.txt|C:\AHK Studio\Projects\AHK_LinkedIn.txt" Loop, Parse, sAttach, |, %A_Space%%A_Tab% pmsg.AddAttachment(A_LoopField) pmsg.Send() * #SingleInstance,Force ;run only once SetBatchLines,-1 IniRead, CDO_Password ,Auth.ini,CDO, Gmail_Password ;~ https://autohotkey.com/board/topic/36522-cdo-com-email-delivery/ Important:={smtpserver: "smtp.gmail.com" ;"host157.hostmonster.com" ; specify your SMTP server ,smtpserverport: 465 ;587 465 ;110 ; 25 ,smtpusessl: True ;For hostmonster it must be true ,sendusing: 2 ; cdoSendUsingPort ,smtpauthenticate: 1 ; cdoBasic ,sendusername: "joe.glines@gmail.com" ;"Joe@the-Automator.com" ;Login UserName for the SMTP Server ,sendpassword: CDO_Password ;You have to create a special "App password" in gmail and use it here. https://the-automator.com/gmail_App_Password ,smtpconnectiontimeout: 60} ;Login Password ;*************Per message****************************************** HTML=This is in html. Check out the-Automator for some cool tips! pmsg:=ComObjCreate("CDO.Message") pmsg.From:="joe.glines@gmail.com" pmsg.To:="Joe@the-Automator.com;joe.glines@gmail.com" pmsg.BCC:= pmsg.CC:= pmsg.Subject:="Send via CDO and AutoHotkey" ;~ pmsg.HtmlBody:=HTML ;This would be your content in an HTML format. pmsg.TextBody := "This is the body of a plain text message" ;if you want to send plain text Fields:={smtpserver:Important.smtpserver,smtpserverport:Important.smtpserverport,smtpusessl:Important.smtpusessl,sendusing:Important.sendusing,smtpauthenticate:Important.smtpauthenticate,sendusername:Important.sendusername,sendpassword:Important.sendpassword,smtpconnectiontimeout:Important.smtpconnectiontimeout} pfld:=pmsg.Configuration.Fields For Field,Value in fields pfld.Item("http://schemas.microsoft.com/cdo/configuration/" Field):=Value pfld.Update() ;********************File Attachements*********************************** sAttach := "C:\AHK Studio\Projects\Companies.txt|C:\AHK Studio\Projects\AHK_LinkedIn.txt" Loop, Parse, sAttach, |, %A_Space%%A_Tab% pmsg.AddAttachment(A_LoopField) pmsg.Send() #SingleInstance,Force ;run only once SetBatchLines,-1 IniRead, CDO_Password ,Auth.ini,CDO, Gmail_Password ;~ https://autohotkey.com/board/topic/36522-cdo-com-email-delivery/ Important:={smtpserver: "smtp.gmail.com" ;"host157.hostmonster.com" ; specify your SMTP server ,smtpserverport: 465 ;587 465 ;110 ; 25 ,smtpusessl: True ;For hostmonster it must be true ,sendusing: 2 ; cdoSendUsingPort ,smtpauthenticate: 1 ; cdoBasic ,sendusername: "joe.glines@gmail.com" ;"Joe@the-Automator.com" ;Login UserName for the SMTP Server ,sendpassword: CDO_Password ;You have to create a special "App password" in gmail and use it here. https://the-automator.com/gmail_App_Password ,smtpconnectiontimeout: 60} ;Login Password ;*************Per message****************************************** HTML=This is in html. Check out the-Automator for some cool tips! pmsg:=ComObjCreate("CDO.Message") pmsg.From:="joe.glines@gmail.com" pmsg.To:="Joe@the-Automator.com;joe.glines@gmail.com" pmsg.BCC:= pmsg.CC:= pmsg.Subject:="Send via CDO and AutoHotkey" ;~ pmsg.HtmlBody:=HTML ;This would be your content in an HTML format. pmsg.TextBody := "This is the body of a plain text message" ;if you want to send plain text Fields:={smtpserver:Important.smtpserver,smtpserverport:Important.smtpserverport,smtpusessl:Important.smtpusessl,sendusing:Important.sendusing,smtpauthenticate:Important.smtpauthenticate,sendusername:Important.sendusername,sendpassword:Important.sendpassword,smtpconnectiontimeout:Important.smtpconnectiontimeout} pfld:=pmsg.Configuration.Fields For Field,Value in fields pfld.Item("http://schemas.microsoft.com/cdo/configuration/" Field):=Value pfld.Update() ;********************File Attachements*********************************** sAttach := "C:\AHK Studio\Projects\Companies.txt|C:\AHK Studio\Projects\AHK_LinkedIn.txt" Loop, Parse, sAttach, |, %A_Space%%A_Tab% pmsg.AddAttachment(A_LoopField) pmsg.Send()__
RIP THE URL FROM THE CLIPBOARD WITH AUTOHOTKEY Someone asked me if I had a tool that would look at the clipboard and return only the URL or RIP THE URL FROM THE CLIPBOARD. (The clipboard has various formats like: Files, Text, Rich Text Format, HTML, Images, etc.). I used the cool WinClip library which can be grabbed here: https://autohotkey.com/board/topic/74670-class-winclip-direct-clipboard-manipulations/ and, with the help of MAESTRITH, wrote a script which returns the various items on the clipboard in HTML format as an object. RIP THE URL FROM THE CLIPBOARD #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. #SingleInstance,Force SetBatchLines,-1 global Com:=ComObjCreate("HTMLFile") ;******************************************************* Browser_Back:: ;Change this hotkey to what you want CB:=ClipboardAll Clipboard:="" while(Clipboard){ Sleep,10 } Send,^c while(!Clipboard){ Sleep,10 } Clip:=Get_Clipboard_Data() ;Call the function and return the HTML data in an object MsgBox % clip.1.HREF DebugWindow(Obj2String(Clip),1,1,200,0) Clipboard:=CB ;restore Clipboard return ;********************Grab data from Clipboard*********************************** Get_Clipboard_Data(){ wc := new wc.iSnap() Obj:= try:=wc.iGetHTML() HTML:=SubStr(Try,InStr(Try,"")) Com.Close() Com.Write(HTML) All:=Com.GetElementsByTagName("a") Url:= RegExMatch(Try,"OUi)SourceURL:(.*)\R",Found) while(aa:=All.Item){ URL.Push({Page:Found.1,Text:aa.InnerText,HREF:aa.HREF}) } return URL } ;~ https://autohotkey.com/board/topic/74670-class-winclip-direct-clipboard-manipulations/ #Include B:\Progs\AutoHotkey_L\AHK Work\WinClip\WinClipAPI.ahk #Include B:\Progs\AutoHotkey_L\AHK Work\WinClip\WinClip.ahk * #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. #SingleInstance,Force SetBatchLines,-1 global Com:=ComObjCreate("HTMLFile") ;******************************************************* Browser_Back:: ;Change this hotkey to what you want CB:=ClipboardAll Clipboard:="" while(Clipboard){ Sleep,10 } Send,^c while(!Clipboard){ Sleep,10 } Clip:=Get_Clipboard_Data() ;Call the function and return the HTML data in an object MsgBox % clip.1.HREF DebugWindow(Obj2String(Clip),1,1,200,0) Clipboard:=CB ;restore Clipboard return ;********************Grab data from Clipboard*********************************** Get_Clipboard_Data(){ wc := new wc.iSnap() Obj:= try:=wc.iGetHTML() HTML:=SubStr(Try,InStr(Try,"")) Com.Close() Com.Write(HTML) All:=Com.GetElementsByTagName("a") Url:= RegExMatch(Try,"OUi)SourceURL:(.*)\R",Found) while(aa:=All.Item){ URL.Push({Page:Found.1,Text:aa.InnerText,HREF:aa.HREF}) } return URL };~
https://autohotkey.com/board/topic/74670-class-winclip-direct-clipboard-manipulations/ #Include B:\Progs\AutoHotkey_L\AHK Work\WinClip\WinClipAPI.ahk #Include B:\Progs\AutoHotkey_L\AHK Work\WinClip\WinClip.ahk #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. #SingleInstance,Force SetBatchLines,-1 global Com:=ComObjCreate("HTMLFile") ;******************************************************* Browser_Back:: ;Change this hotkey to what you want CB:=ClipboardAll Clipboard:="" while(Clipboard){ Sleep,10 } Send,^c while(!Clipboard){ Sleep,10 } Clip:=Get_Clipboard_Data() ;Call the function and return the HTML data in an object MsgBox % clip.1.HREF DebugWindow(Obj2String(Clip),1,1,200,0) Clipboard:=CB ;restore Clipboard return ;********************Grab data from Clipboard*********************************** Get_Clipboard_Data(){ wc := new wc.iSnap() Obj:= try:=wc.iGetHTML() HTML:=SubStr(Try,InStr(Try,"")) Com.Close() Com.Write(HTML) All:=Com.GetElementsByTagName("a") Url:= RegExMatch(Try,"OUi)SourceURL:(.*)\R",Found) while(aa:=All.Item){ URL.Push({Page:Found.1,Text:aa.InnerText,HREF:aa.HREF}) } return URL } ;~ https://autohotkey.com/board/topic/74670-class-winclip-direct-clipboard-manipulations/ #Include B:\Progs\AutoHotkey_L\AHK Work\WinClip\WinClipAPI.ahk #Include B:\Progs\AutoHotkey_L\AHK Work\WinClip\WinClip.ahk__
12 3
›
*
CATEGORIES
CategoriesSelect CategoryAHK Studio (1)Analytics (48) SPSS (36) SPSS Macro (22) SYSTAT (1)API (23)AutoHotkey Merchandise (1)AutoHotkey User / Expert Interview (1)Chrome (2)Controls (1)email (18)GUI (7)Humor (20)ide (2)LinkedIn (6)OffTopic (9)Office
Automation (221) AutoHotKey (204) COM (80) Functions (16) GUI (2) HotKey (10) HotString (8) MS Office (53) Excel (23) Outlook (1) Web Scraping (45)Python (1)Regular Expressions / RegEx (23)sales tools (2)SciTE (20)SQL (2)SYSTAT (3)Text /String (39)Text
Manipulation (47)Udemy (1)Visualizations (15) Charts (8) GIS (2) Maps (3)Webinar (33)Windows (19) * Search for: Search__*
ALERTS
Get alerts on posts, videos, etc. First name or full name*
Powered by Tempera & WordPress. Do NOT follow this link or you will be bannedfrom the site!
Details
Copyright © 2024 ArchiveBay.com. All rights reserved. Terms of Use | Privacy Policy | DMCA | 2021 | Feedback | Advertising | RSS 2.0