精华内容
下载资源
问答
  • VB程序打包,生成安装程序

    千次阅读 2019-06-13 18:22:58
    (1)打开VB6.0 IDE,加载你的工程,单击“外接程序”菜单下的“外接程序管理器”。 (2)在弹出的窗体中选择“打包和展开向导”(最后一项),在加载行为中选择“加载/卸载”,确定。 (3)再次单击“外接程序”菜单项,...

    (1)打开VB6.0 IDE,加载你的工程,单击“外接程序”菜单下的“外接程序管理器”。
    (2)在弹出的窗体中选择“打包和展开向导”(最后一项),在加载行为中选择“加载/卸载”,确定。
    (3)再次单击“外接程序”菜单项,单击“打包和展开向导”。
    (4)单击“打包”,选择“标准安装包”,一直单击下一步,最后点“完成”,点“关闭”。
    (5)此时你的工程文件夹下会有一个名为“包”的文件夹。
    (6)单击“展开”,单击下一步(2个),此时询问“您希望在哪里展开这个包?”,单击“新建文件夹”
    在电脑中其他位置新建一个文件夹,单击下一步,点“完成”,点“关闭”。
    (7)关闭“打包和展开向导”。
    (8)在刚才建立的文件夹下就是安装程序了!(三个文件:工程名.cab setup.exe setup.lst)_

    以下方法未尝试
    除了自带的打包向导以外,可以到网上找Wise Installer、Installation Wizard、CreateInstall等等安装程序制作软件,Wise Installer应该是所有人都很熟悉的了,就是那个蓝色的Wise的,很多软件安装都用这个,或者使用PEBundle这类程序,把所需的exe、dll、chm、txt等等文件全部打成一个exe文件,而且可以实现执行时自动拷贝或执行等功能。

    展开全文
  • 微信小程序也提供了扫码进入的功能,可以通过扫描二维码或者微信小程序专有的小程序码,进入到相应的小程序页面。 微信官方提供了3个不同的REST API用于生成带参数的小程序码或者二维码,可在扫码后进入...

    转自:https://www.jianshu.com/p/3056754987e8    一斤代码

    扫码已经成为一种常见又方便的进入移动应用的途径,可以把线上线下的用户流量带入你的移动应用中来。微信小程序也提供了扫码进入的功能,可以通过扫描二维码或者微信小程序专有的小程序码,进入到相应的小程序页面。

    微信官方提供了3个不同的REST API用于生成带参数的小程序码或者二维码,可在扫码后进入指定的小程序页面,其中接口A和C能生成的图片总数量有限制(10万张),对于那种需要生成大量二维码的使用场景(比如为每个订单生成一个二维码、餐厅的每张餐桌生成一个二维码等)是远远不能满足需求的。而接口B可以解决这个问题,我们这次主要来看一下如何使用这个接口。

    总体的思路是:在我们的后端开发一个API,在其中调用微信的二维码接口,调用成功后会得到二维码图片的二进制流,最后将这个二进制流输出到前台。

    以下步骤中的后端代码是基于Node.js进行编写,并使用了Koa 2框架。代码仅供参考。

    步骤1:获取重要参数access_token

    调用获取小程序二维码的REST API需要一个很重要的参数:access_token,这是用于获取微信公众平台API访问权限的重要参数,做过微信公众号HTML5开发的朋友对其肯定非常熟悉。没接触过的话,可以看一下微信公众平台的文档

    调用微信公众平台的API,已经有很多成熟的开源SDK可以使用,从Github上可以搜到很多不同语言实现的SDK。由于我用的是Node.js开发,所以使用了co-wechat-api

    以下是使用co-wechat-api来获取access_token的基本用法:

    const WechatAPI = require('co-wechat-api')
    
    const wxAppAPI = new WechatAPI('小程序的app id', '小程序的app secret')
    const token = await wxAppAPI.ensureAccessToken()
    
    console.log(token.accessToken)
    

    步骤2:拼接url,发送请求获取二维码图片

    const fs = require('fs')
    const axios = require('axios')
    
    // 拼接url
    const url = `https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=${token.accessToken}`
    
    // 发送POST请求
    const response = await axios.post(url, {
      page: '小程序中Page的路径',
      scene: '自定义参数,格式你自己决定'
    }, { responseType: 'stream' })
    
    // 将请求结果中的二进制流写入到本地文件qrcode.png
    response.data.pipe(fs.createWriteStream('qrcode.png'))
    

    在上面的代码中,我们将access_token作为query string参数拼接到url上,然后向这个url发送POST请求,传递的参数主要是pagescene,其中page参数是扫码后进入的小程序页面路径(比如pages/index/index,并且不能携带参数),而scene则传入的是我们的自定义参数。

    其实经过这一步,你就已经可以在你的磁盘上找到这张小程序码的图片了,用微信扫一下这张图片,就能进入你的小程序页面。

    步骤3:将二维码图片输出

    虽然我们已经获取到了小程序码图片,但是现在它还只是躺在我们的服务器端。而通常实际情况是,我们需要在小程序页面上去显示这张图片,让用户去保存和分享它。因此,我们需要把这张图片通过我们的API进行输出。以下是基于koa 2的示例代码:

    const fs = require('fs')
    const Router = require('koa-router')
    const router = new Router()
    
    router.get('/wx/common/qrcode', async (ctx) => {
      const stream = fs.createReadStream(‘qrcode.png’)
      ctx.body = stream
    })
    

    步骤4:在小程序中显示

    在小程序中显示该图片就非常简单了,直接使用<image>组件来进行展示:

      <image src="https://your-domain.com/wx/common/qrcode" style="width:200px;height:200px"></image>
    

    附录:稍微完备一些的服务端代码

    上面4个步骤中给出的示例代码只是为了配合说明各个步骤,代码比较简陋,下面是经过稍微的组织过的代码,供参考:

    • 路由部分的代码:
    const Router = require('koa-router')
    const PassThrough = require('stream').PassThrough;
    const wxapi = require('../services/wxapi')
    const router = new Router()
    
    router.get('/wx/common/qrcode', async (ctx) => {
      const stream = await wxapi.getWxaCodeUnlimit({
        page: 'pages/profile/profile',
        scene: 'abc123'
      })
      ctx.body = stream.pipe(PassThrough())
    })
    
    • Service部分的代码:
    const fs = require('fs')
    const path = require('path')
    const crypto = require('crypto')
    const bluebird = require('bluebird')
    const axios = require('axios')
    const WechatAPI = require('co-wechat-api')
    
    const wxAppAPI = new WechatAPI('小程序的app id', '小程序的app secret')
    
    function sha1(message) {
      return crypto.createHash('sha1').update(message, 'utf8').digest('hex')
    }
    
    module.exports = {
    
      async getWxaCodeUnlimit({ page, scene }) {
        // 图片文件名使用page和scene等数据生成Hash
        // 以避免重复生成内容相同的小程序码
        const fileName = sha1(page + scene)
        const filePath = path.join(__dirname, `../../qrcode/${fileName}.png`)
    
        let readable
    
        try {
          // 检测该名字的小程序码图片文件是否已存在
          await bluebird.promisify(fs.access)(filePath, fs.constants.R_OK);
          readable = fs.createReadStream(filePath)
        } catch (e) {
          // 小程序码不存在,则创建一张新的
          const token = await wxAppAPI.ensureAccessToken()
          const response = await axios({
            method: 'post',
            url: 'https://api.weixin.qq.com/wxa/getwxacodeunlimit',
            responseType: 'stream',
            params: { access_token: token.accessToken },
            data: { page, scene }
          })
          readable = response.data
          readable.pipe(fs.createWriteStream(filePath))
        }
    
        // 返回该小程序码图片的文件流
        return readable
      }
    
    }
    

    祝大家开发出更好的小程序!



    作者:一斤代码
    链接:https://www.jianshu.com/p/3056754987e8
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

    展开全文
  • C++ 程序崩溃后生成dump文件

    千次阅读 2018-10-31 10:54:34
    在main.cpp中添加以下代码,即可在程序崩溃时生成dump文件。 #include "DbgHelp.h" LONG WINAPI ExceptionFilter(LPEXCEPTION_POINTERS lpExceptionInfo); int main(int argc, char *argv[]) { // ...

    在main.cpp中添加以下代码,即可在程序崩溃时生成dump文件。

    
    #include "DbgHelp.h"
    
    LONG WINAPI ExceptionFilter(LPEXCEPTION_POINTERS lpExceptionInfo);
    
    int main(int argc, char *argv[])
    {
        // 加入崩溃dump文件功能
        SetUnhandledExceptionFilter(ExceptionFilter);
    
        // 测试一下
        int* ptr = nullptr;
        *ptr = 10;
    
        return 0;
    }
    
    // dump
    int GenerateMiniDump(PEXCEPTION_POINTERS pExceptionPointers)
    {
        // 定义函数指针
        typedef BOOL(WINAPI * MiniDumpWriteDumpT)(
            HANDLE,
            DWORD,
            HANDLE,
            MINIDUMP_TYPE,
            PMINIDUMP_EXCEPTION_INFORMATION,
            PMINIDUMP_USER_STREAM_INFORMATION,
            PMINIDUMP_CALLBACK_INFORMATION
            );
        // 从 "DbgHelp.dll" 库中获取 "MiniDumpWriteDump" 函数
        MiniDumpWriteDumpT pfnMiniDumpWriteDump = NULL;
        HMODULE hDbgHelp = LoadLibrary(L"DbgHelp.dll");
        if (NULL == hDbgHelp)
        {
            return EXCEPTION_CONTINUE_EXECUTION;
        }
        pfnMiniDumpWriteDump = (MiniDumpWriteDumpT)GetProcAddress(hDbgHelp, "MiniDumpWriteDump");
    
        if (NULL == pfnMiniDumpWriteDump)
        {
            FreeLibrary(hDbgHelp);
            return EXCEPTION_CONTINUE_EXECUTION;
        }
        // 创建 dmp 文件件
        TCHAR szFileName[MAX_PATH] = {0};
        TCHAR* szVersion = L"Dump";
        SYSTEMTIME stLocalTime;
        GetLocalTime(&stLocalTime);
        wsprintf(szFileName, L"%s-%04d%02d%02d-%02d%02d%02d.dmp",
            szVersion, stLocalTime.wYear, stLocalTime.wMonth, stLocalTime.wDay,
            stLocalTime.wHour, stLocalTime.wMinute, stLocalTime.wSecond);
        HANDLE hDumpFile = CreateFile(szFileName, GENERIC_READ | GENERIC_WRITE, 
            FILE_SHARE_WRITE | FILE_SHARE_READ, 0, CREATE_ALWAYS, 0, 0);
        if (INVALID_HANDLE_VALUE == hDumpFile)
        {
            FreeLibrary(hDbgHelp);
            return EXCEPTION_CONTINUE_EXECUTION;
        }
        // 写入 dmp 文件
        MINIDUMP_EXCEPTION_INFORMATION expParam;
        expParam.ThreadId = GetCurrentThreadId();
        expParam.ExceptionPointers = pExceptionPointers;
        expParam.ClientPointers = FALSE;
        pfnMiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(), 
            hDumpFile, MiniDumpWithDataSegs, (pExceptionPointers ? &expParam : NULL), NULL, NULL);
        // 释放文件
        CloseHandle(hDumpFile);
        FreeLibrary(hDbgHelp);
        return EXCEPTION_EXECUTE_HANDLER;
    }
    
    LONG WINAPI ExceptionFilter(LPEXCEPTION_POINTERS lpExceptionInfo)
    {
        // 这里做一些异常的过滤或提示
        if (IsDebuggerPresent())
        {
            return EXCEPTION_CONTINUE_SEARCH;
        }
        return GenerateMiniDump(lpExceptionInfo);
    }
    

     

    展开全文
  • 将matlab程序生成的曲线导入solidworks中并生成实体,主要有以下几个步骤: 1、通过程序生成曲线,将曲线的坐标写入到txt文件中; 2、在solidworks中使用曲线功能导入txt坐标,生成实体曲线; 3、将生成的曲线转换...
    将matlab程序生成的曲线导入solidworks中并生成实体,主要有以下几个步骤:
    1、通过程序生成曲线,将曲线的坐标写入到txt文件中;
    2、在solidworks中使用曲线功能导入txt坐标,生成实体曲线;
    3、将生成的曲线转换实体引用。
    具体步骤:
    1、用matlab生成曲线并将坐标写入txt文件中:
    %下面的代码生成的图形是一个直角三角形
    clear;
    clc;
    x1=0:1:100;%定义直线1的x范围
    y1=zeros(1,101);%定义直线1的y范围
    Z=zeros(1,101);%生成z轴坐标全部为0
    a=[x1;y1;Z]';%将x,y,z写进一个矩阵中,并进行转置
    fid1=fopen(['d:\','sw的闭合曲线实验线1.txt'],'w');%开始将a矩阵的数据存到D盘的sw的闭合曲线实验线1.txt文件中
    [l,m,n]=size(a);
    for i=1:l
        for j=1:m
            for k=1:n
            fprintf(fid1,'%f\t',a(i,j,k));
            end
        end
        fprintf(fid1,'\r\n');
    end
    fclose(fid1);%结束
    x2=100;
    x21=repmat(x2,1,101);
    y2=0:1:100;
    b=[x21;y2;Z]';
    fid2=fopen(['d:\','sw的闭合曲线实验线2.txt'],'w');%开始将b矩阵的数据存到D盘的sw的闭合曲线实验线2.txt文件中
    [l,m,n]=size(b);
    for i=1:l
        for j=1:m
            for k=1:n
            fprintf(fid1,'%f\t',b(i,j,k));
            end
        end
        fprintf(fid2,'\r\n');
    end
    fclose(fid2);%结束
    x3=0:1:100;
    y3=x3;
    c=[x3;y3;Z]';
    fid3=fopen(['d:\','sw的闭合曲线实验线3.txt'],'w');%开始将c矩阵的数据存到D盘的sw的闭合曲线实验线3.txt文件中
    [l,m,n]=size(c);
    for i=1:l
        for j=1:m
            for k=1:n
            fprintf(fid3,'%f\t',c(i,j,k));
            end
        end
        fprintf(fid3,'\r\n');
    end
    fclose(fid3);%结束
    

    注意:导入solidworks的坐标必须有z轴坐标。xyz应分别为txt文件中的三列:

    2、在solidworks中使用曲线功能导入txt坐标,生成实体曲线;

    点击插入-曲线-通过XYZ点的曲线,导入txt文件。

    点击确定,即可成功导入曲线:

    3、将生成的曲线转换实体引用。

    必须注意的一点是:这种导入方式生成的曲线是不可以直接编辑的。

    需要新建一个草图,选择转换实体引用,将生成的曲线转化成可编辑的实体。

    如图所示,曲线变成了黑色,已经可以编辑了,可以用来旋转实体、拉伸实体等,但要注意之前生成的曲线仍会存在。

     

    作者:GaiJM 

    展开全文
  • 程序生成及分享图绘制

    万次阅读 2018-01-13 16:20:46
    项目需求为用户创建活动,且生成了小程序码,进而再生成程序码分享图,即在原小程序码的基础上绘制一张完整的分享图,并展示给用户进行分享。个中过程均交由后台生成并绘制(原因:用户在小程序直接点击某选项,...
  • 程序的canvas画布绘图与h5的canvas有类似的功能,小程序的应用场景大多数是用于制作分享图,模块上是有文字、图片等等变量时,因为只有图片才能保存到相册,所以得先把模块合成为一张图片,此时canvas就能显示它的...
  • 公司指定要在打印的小票中嵌套公司小程序的指定页面,比如打印一个订单,要嵌入一个二维码,扫码即可进入下单的店铺页面(非首页)。 问题 官方文档给出的嵌入二维码的方式是标签+链接,如下图 (这里指出一个订单...
  • 微信小程序生成图片分享朋友圈

    千次阅读 2018-08-31 11:36:08
    通过社交软件分享的方式来进行营销小程序,是一个常用的运营途径。小程序本身支持直接将一个小程序的链接卡片分享至微信好友或微信群,然后别人就可以通过点击该卡片进入该小程序页面。但是小程序目前不支持直接分享...
  • 程序自动生成Dump文件

    千次阅读 2009-07-15 17:47:00
    前言:通过drwtsn32、NTSD、CDB等调试工具生成Dump文件, drwtsn32存在的缺点虽然NTSD、CDB可以完全解决,但...本文主要讨论以下内容:1、 运行原理2、 程序修改3、 注意事项一、 运行原理当程序遇到未处理异常(主
  • 微信小程序12月21日发布了新版本的开发工具,并在官网公布新增以下功能:1、分享可以分享小程序的任何一个页面给好友或群聊。https://mp.weixin.qq.com/debug/wxadoc/dev/api/share.html?t=20161221示例代码:Page...
  • 微信小程序生成图片分享

    万次阅读 2018-03-14 14:42:01
    通过社交软件分享的方式来进行营销小程序,是一个常用的运营途径。小程序本身支持直接将一个小程序的链接卡片分享至微信好友或微信群,然后别人就可以通过点击该卡片进入该小程序页面。但是小程序目前不支持直接分享...
  • 最近老有同学问我,如何生成程序二维码,让用户扫码后能快速进入指定页面。经过一番研究,发现用云开发的云调用来实现特别方便,基本上10行代码就可以快速的生成指定页面的二维码。这样我们在做一些线下业务时就能...
  • AOS 自动生成代码功能实现

    千次阅读 2016-08-12 10:57:39
    项目下载地址:https://git.oschina.net/hepeng1/aos实现代码自动生成,只要创建表就可以根据表自动生成相应逻辑的增、删、改、导出操作,具体操作步骤参照以下链接自动生成代码(一) 创建表自动生成代码(二) Dao生成...
  • 如果本文对你有用,请...组件,步骤大致分为以下3个部分:一张大的背景图,一段动态的文字(‘标题 用户名 及其他信息’),以及一个小程序码图片。那我们就先在我们的wxml代码中放入如下的<canvas>: <...
  • VS2013中为C++程序生成lib和dll文件

    万次阅读 2017-03-21 10:44:44
    在http://blog.csdn.net/piaoxuezhong/article/details/61201785中介绍了.DLL文件的显式调用方法,这篇介绍dll文件的生成方法...首先打开VS2013,新建—项目—Win32控制台应用程序(项目名称:dllTest)---控制台应用程
  • VS2013程序打包部署,生成exe文件

    千次阅读 2018-09-19 08:35:01
    VS2012中打包工具被看做程序集,在使用时和程序集一样被创建到程序解决方案下...1、设置安装程序集 InstallShield安装完成后,执行以下步骤右键解决方案-->添加-->新建项目-->其他项目类型-->安装和部署...
  • 程序的CanvasContext.fillText有一个maxWidth(需要绘制的最大宽度)参数,它的功能并不是超出该宽度换行,而是对文本进行挤压。 所以,光靠API是无法实现的,那么就有了以下的解决方法: data: { text: '这是一...
  • 【精】微信小程序生成二维码海报分享 [原理+源码]

    千次阅读 多人点赞 2019-12-06 15:28:05
    关于海报分享的教程数不胜数, 但是我没能找到一个好用的, 为了实现这个功能结合了三篇教程耗时三天才把海报搞定; 首先网络上教程都是直接上教程代码, 然后代码加思路, 对小白我来说就是一头雾水, 只能边走边理解; ...
  • 一个简单的二维码生成程序

    千次阅读 2017-10-08 09:20:32
    二维码的扫描与生成
  • 这是由于熬制过程中,糖水内的水经过下列哪种物态变化所致( )','在中考期间,为了给考生营造一个良好的考试环境,以下措施属于控制噪声源的是( )'], questionsA: ['A.考虑系统的整体优化', 'A.明确目标', 'A.最大流...
  • 本节和大家讨论一下程序集版本最后一位使用SVN版本号的自动生成方法,这里就向大家简单介绍一下,欢迎大家能和我一起学习SVN版本号的相关知识。 使用SVN进行源代码版本控制时,我们希望能够快速找到每个发布版本...
  • 程序支付功能开发实战

    千次阅读 2019-05-27 20:44:00
    程序支付功能开发实战:附送前后端源码! 前期准备 先以企业身份注册一个小程序账号,注册完成之后登录小程序后台,把小程序appid、小程序secret码复制好。在这之后登录微信支付商平台(需注册),准备好微信支付...
  • 当您使用 SQL Server 2005 中的一个公共语言运行库对象时出现错误消息: 无法加载动态生成的序列化程序集 点击这里查看逐句中英文对照机器翻译 查看机器翻译免责声明 查看本文应用于的产品 错误 #: 101935 ...
  • 一、Bin  Bin文件是最纯粹的二进制机器代码,...Bin文件内部没有地址标记,因此下载程序的时候要指定bin的烧写地址,虽然大部分的单片机是从0地址开始执行程序,可也有些单片机不是,比如LPC1857。 二、Hex  ...
  • 今天用STM32CubeMX生成一个程序,用SW调试两步就死机,最后查出是初始化中禁止了SW,这可能是STM32CubeMX中没有配置SW的原因吧 把以下屏蔽后正常 HAL_Init();------&gt;HAL_MspInit();----------&gt;__HAL_...
  • 程序云开发实现上传图片功能

    万次阅读 多人点赞 2019-04-04 18:53:29
    1、小程序上传图片功能实现需要注意以下几个点: (1)图片最多上传9张(默认) (2)上传后的图片会生成一个临时的地址,用过这个临时地址将图片上传到数据库 (3)图片保存的位置是在云开发控制台的 本地存储中 ...
  • Python脚本生成的exe文件自动升级程序实现方法

    万次阅读 多人点赞 2017-12-01 14:27:47
    通过pyinstaller 生成 exe的客户端,希望能够给客户端增加版本校验自动升级功能在这里记录下实现的过程 升级思路:1. 下载新版软件 2. 关闭当前运行的旧版软件 3. 删除旧版软件 3. 启动新的软件 网上搜索了下,...
  • 微信小程序实现订阅信息功能

    千次阅读 2020-03-13 14:52:07
    微信小程序集成百度图像识别功能,实现对上传或拍照的身份证进行扫描,并获取身份证信息。 百度端创建应用 访问网址https://login.bce.baidu.com/,选择“人工智能”--“图像识别”; 在栏目“应用列表”下...
  • 直接使用VS2012/VS2013/VS2015生成XP兼容的可执行程序 Visual Studio刚发布时没打补丁,称为RTM版,之后会陆续发布补丁,进行bug修复和功能增强。VS2010及之前版本的补丁为Service Pack,VS2012及之后版本的补丁称为...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 648,151
精华内容 259,260
关键字:

以下程序的功能是生成12