• Windows 8 C#调用C++编写的Windows运行时组件


    Windows运行时组件是Windows 8里面通用的公共库,它可以使用C++,C#或者VB来编写,不过你的Windows 8 metro是用什么语言编写都可以调用无缝地调用Windows运行时组件。

    下面通过一个C#编写的Windows 8项目来调用一个用C++编写的Windows运行时组件。

    创建一个Windows运行时组件:

    编写如下的代码:

     
    #include "pch.h"
    #include "WinRTComponent.h"
    
    using namespace CppWinRTComponentDll2;
    
    int CalculatorSample::Add(int x, int y)
    {
        return x+y;
    }

     头文件

     
    #pragma once
    
    using namespace Windows::Foundation;
    
    namespace CppWinRTComponentDll2
    {
    
        public ref class CalculatorSample sealed
        {
        public:
            int Add(int x, int y);
    
        };
    }
     

    在C#编写的项目中调用Windows运行时组件的C++方法

    添加Windows运行时组件

    UI部分

     
    <Page
        x:Class="TestWinRTCSDemo.MainPage"
        IsTabStop="false"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="using:TestWinRTCSDemo"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        mc:Ignorable="d">
    
        <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
            <StackPanel>
                <TextBox x:Name="txtX" HorizontalAlignment="Center" Height="45" Width="258"></TextBox>
                <TextBlock   Text="+" HorizontalAlignment="Center"  Height="45" Width="258" FontSize="14" FontWeight="Bold"/>
                <TextBox x:Name="txtY" HorizontalAlignment="Center" Height="45" Width="258"></TextBox>
                <Button Content="调用WinRT方法来相加" HorizontalAlignment="Center" Click="Button_Click_1" ></Button>
                <TextBox x:Name="txtAddResult" HorizontalAlignment="Center" Height="45" Width="258"/>
            </StackPanel>
        </Grid>
    </Page>
     

    C#代码部分

      运行的效果

    原文地址

    作者:Work Hard Work Smart
    出处:http://www.cnblogs.com/linlf03/
    欢迎任何形式的转载,未经作者同意,请保留此段声明!

  • 相关阅读:
    三个录屏软件
    不用 PS 和 AI,5个网站能做出更好看的设计
    使用vue.js开发小程序
    js异步处理
    HTTP、HTTP1.0、HTTP1.1、HTTP2.0、HTTPS
    Chrome不支持css字体小于12px的解决办法
    处理CSS前缀问题的神器——AutoPrefixer
    CSS | 字体系列
    qemu-img 命令讲解
    全面理解 git
  • 原文地址:https://www.cnblogs.com/linlf03/p/2584129.html
Copyright © 2020-2023  润新知