Google-Fu
Darn skippy I copied all of this -- and in just three queries:
Thank you, information super-highway. Now, on to what I found...
Copy-Pasta
The relevant pages I found were:
I reviewed the code at developerfusion.com, found it to be straightforward, and incorporated it into a C# program. Then I wrote this code to go with it:
public class Cap
{
// http://www.pinvoke.net/default.aspx/user32.findwindow
// Find window by Caption only. Note you must pass IntPtr.Zero as the first parameter.
[DllImport("user32.dll", EntryPoint="FindWindow", SetLastError = true)]
static public extern IntPtr FindWindowByCaption(IntPtr ZeroOnly, string lpWindowName);
static public int Main(string [] args)
{
if (args.Length != 3)
{
Console.WriteLine("Usage: cap windowtitle gifbasename delayms");
return 1;
}
IntPtr hWnd = FindWindowByCaption(IntPtr.Zero, args[0]);
if (hWnd == IntPtr.Zero)
{
Console.WriteLine("No window by the title - {0}", args[0]);
return 1;
}
Console.WriteLine("Capturing...");
// stackoverflow.com/questions/1163761/capture-screenshot-of-active-window
ScreenCapture sc = new ScreenCapture();
int i = 0;
StringBuilder sb = new StringBuilder();
while (true)
{
sb.Clear();
sb.AppendFormat("{0}{1}.gif", args[1], i.ToString("D8"));
sc.CaptureWindowToFile(hWnd, sb.ToString(), ImageFormat.Gif);
Thread.Sleep(Convert.ToInt32(args[2]));
i++;
}
return 0;
}
}
I saved the 171-line file as screenshot.cs, and then wrote a compiler script:
Then, I double-clicked that, sifted through some warnings, and came up with an executable.
Next, I built a script to use ImageMagick's convert.exe to stitch those gifs into an animation:
I saved that as makegif.cmd. Finally, I decided to test it:
Now I'm ready to do that Vim demo. Tomorrow, that is.
'nite ;-)
@ECHO OFF %WINDIR%\Microsoft.NET\Framework\v4.0.30319\csc.exe *.cs PAUSE
Then, I double-clicked that, sifted through some warnings, and came up with an executable.
Next, I built a script to use ImageMagick's convert.exe to stitch those gifs into an animation:
@ECHO OFF IF "%3" == "" GOTO Usage :Start convert -loop 0 -delay %3 -resize %4 %1 %2 GOTO :EOF :Usage ECHO Usage: %~nx0 fileswildcard outfile dly reduce%% ECHO. ECHO Note: fileswildcard ought not match outfile, else: Inception! ECHO Note: dly in units of msec / 10 GOTO :EOF
I saved that as makegif.cmd. Finally, I decided to test it:
'nite ;-)

No comments:
Post a Comment