zoukankan      html  css  js  c++  java
  • Using x++ coede take screenshots from Dynamics AX 2009 FormControls or Jobs

    Wrote by Jimmy on Jan 21th 2011

     

    1)Jobs

    static void Jimmy_ImagesSavedFullScreen(Args _args)
    {
        System.Drawing.Bitmap           bitmap;
        System.Drawing.Graphics         graphics;
        System.Windows.Forms.Screen     primaryScreen;
        System.Drawing.Rectangle        bounds;
        int                             x, y, k, l;
        str                             SaveToFileName;
        System.Int32                    width;
        System.Int32                    height;
        filename                        filename;
        #WINAPI
        #define.FileName('DynamicsAx_Screenshot.png')
    ;
        try
        {
            // 5 for the My Documents folder
            SaveToFileName  = strfmt(@"%1\%2",WinApi::getFolderPath(5),#FileName);
            if(winapi::fileExists(SaveToFileName,false))
                winapi::deleteFile(SaveToFileName);
            primaryScreen   = System.Windows.Forms.Screen::get_PrimaryScreen();
            bounds          = primaryScreen.get_Bounds();
     
            [x, y, k, l]    = WinApi::getWindowRect(infolog.hWnd());
     
            //width           = 1280;//_control.widthValue();
            //height          = 800;//_control.heightValue();
            width       = WinAPI::getSystemMetrics(#SM_CXSCREEN);
            height      = WinAPI::getSystemMetrics(#SM_CYSCREEN);
    
            // TwC: used API CLRObject
            // BP Deviation Documented
            bitmap          = new System.Drawing.Bitmap(width,height);
     
            graphics        = System.Drawing.Graphics::FromImage(bitmap);
            graphics.CopyFromScreen(x,y,0,0,bitmap.get_Size());
     
            bitmap.Save(SaveToFileName, System.Drawing.Imaging.ImageFormat::get_Png());
        }
        catch(exception::Error)
        {
            error("The file could not be saved"); // TODO make label
        }
        if(winapi::fileExists(SaveToFileName,false))
            winapi::shellExecute(SaveToFileName);
    
    }
    

     2)FormControls

    public void run(FormControl _control)
    {
        System.Drawing.Bitmap           bitmap;
        System.Drawing.Graphics         graphics;
        System.Windows.Forms.Screen     primaryScreen;
        System.Drawing.Rectangle        bounds;
     
        int                             x, y, k, l;
        str                             SaveToFileName;
        System.Int32                    width;
        System.Int32                    height;
     
        #define.FileName('DynamicsAx_Screenshot.png')
        ;
     
        try
        {
            // 5 for the My Documents folder
            SaveToFileName  = strfmt(@"%1\%2",WinApi::getFolderPath(5),#FileName);
     
            primaryScreen   = System.Windows.Forms.Screen::get_PrimaryScreen();
            bounds          = primaryScreen.get_Bounds();
     
            [x, y, k, l]    = WinApi::getWindowRect(_control.hWnd());
     
            width           = _control.widthValue();
            height          = _control.heightValue();
     
            // TwC: used API CLRObject
            // BP Deviation Documented
            bitmap          = new System.Drawing.Bitmap(width,height);
     
            graphics        = System.Drawing.Graphics::FromImage(bitmap);
            graphics.CopyFromScreen(x,y,0,0,bitmap.get_Size());
     
     
            bitmap.Save(SaveToFileName, System.Drawing.Imaging.ImageFormat::get_Png());
        }
        catch
        {
            error("The file could not be saved"); // TODO make label
        }
    }
    
  • 相关阅读:
    用initconnect+binlog实现用户操作追踪【转】
    INSERT INTO … SELECT 的锁【转】
    Memcached 高可用方案 Repcached
    关于MySQL建表对DML的影响【转】
    NoSQL之【memcached】学习
    关于MySQL insert into ... select 的锁情况
    MySQL数据库诊断——InnoDB关机问题 【转】
    Your document is being created
    Failure to Get Sequential Numbering Profile Option
    Runtime error '1004'
  • 原文地址:https://www.cnblogs.com/Fandyx/p/1940844.html
Copyright © 2011-2022 走看看